【发布时间】:2020-08-24 09:38:14
【问题描述】:
与iris 数据集一样,在我的数据中,所有列都被归类为数字,但整个 data.frame 未被归类为数字。以下代码显示了我尝试过的内容。
我希望 iris 是数字而不改变数据的形式
data("iris")
> is.numeric(iris)
[1] FALSE
iris <- as.numeric(iris)
ERROR: 'list' object cannot be coerced to type 'double'
> iris <- lapply(iris, as.numeric)
> is.numeric(iris)
[1] FALSE
> iris <- as.numeric(unlist(iris))
> is.numeric(iris)
[1] TRUE ##but now it is only one column (instead of 5)
【问题讨论】:
-
不清楚你想在这里实现什么,但也许
data.matrix(iris)是你正在寻找的。span> -
鸢尾花的物种列是一个因素。在最后一部分中,您将因子列强制为数字,因此它可以工作.. 不太确定您在这里尝试做什么
-
iris是data.frame,因此绝不是numeric。即使您将其所有列都设为numerics(但请参阅 StupidWolf 的警告),这也不会使表本身成为numeric。 -
天啊! @KonradRudolph,我不知道。就像@nicola 建议的那样,它适用于 ``` data.matrix(iris)``` 。 ;)