首页 > 解决方案 > 当 df 具有自定义类时,tidyr::unite 失败

问题描述

我正在尝试tidyr::unite在具有从我正在开发的包中应用的自定义类的数据框上使用。例如,尝试合并iris数据集的 2 列

data(iris)
class(iris) <- append(class(iris), "new_class")

iris_unite <- tidyr::unite(iris, col = "example", c("Sepal.Length", "Sepal.Width"))

失败

Error: `x` must be a vector, not a `data.frame/new_class` object.

如果您省略分配自定义类的行,则代码可以正常工作。

我希望unite仍能按预期工作,因为数据框仍然data.frame应用了该类,所以我假设这将分派到unite.data.frame.

知道为什么这不起作用吗?

标签: rtidyr

解决方案


推荐阅读