【发布时间】:2020-04-20 19:47:20
【问题描述】:
我偶然发现了以下问题。我有一个data.frame
A <- data.frame(let = c("A", "B", "C"), x = 1:3, y = 4:6)
其列的类是
sapply(A, class)
let x y
"factor" "integer" "integer"
s.numeric(A$x)
[1] TRUE
is.numeric(A)
[1] FALSE
我不明白为什么虽然A$x和B$x是数字,但仅由这两列组成的data.frame却不是数字
is.numeric(A[, c("x", "y")])
[1] FALSE
删除factor 列没有帮助...
B <- A
B$let <- NULL
is.numeric(B)
[1] FALSE
is.numeric(B$x)
[1] TRUE
is.numeric(B$y)
[1] TRUE
因此,我尝试创建一个仅使用 A 中的数字列构建的新数据集。是数字吗?没有...
C <- data.frame(B$x, B$y)
is.numeric(C)
[1] FALSE
C <- data.frame(as.numeric(B$x), as.numeric(B$y))
is.numeric(C)
[1] FALSE
这里一定有我遗漏的东西。有什么帮助吗?
【问题讨论】:
-
感谢您的回答,我意识到该示例并不真正等于我遇到的问题(现在已解决)。谢谢!
-
抱歉,akrun,我不是故意的。还是谢谢你。
标签: r dataframe character numeric