Я наткнулся на следующую проблему. У меня есть 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
являются цифрами c, data.frame
, составленный только из этих двух столбцов, не является цифрой c
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
Итак, я попытался создать новый набор данных, построенный только с номерами c столбцов в A
. Это цифра c? Нет ...
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
Должно быть, я чего-то здесь упускаю. Любая помощь?