检查 R 数据框中每个变量的数据类型
Checking data type for each variable in a R data frame
我想知道是什么导致了这两个命令之间的差异:
apply(DF,2,is.numeric)
c(ID = FALSE, diet = FALSE, height = FALSE, weight = FALSE, gender = FALSE,
wohn = FALSE, social = FALSE, alter = FALSE, d13C = FALSE, d15N = FALSE,
ferr = FALSE, VitB = FALSE)
sapply(DF,is.numeric)
c(ID = FALSE, diet = FALSE, height = TRUE, weight = TRUE, gender = FALSE,
wohn = FALSE, social = FALSE, alter = TRUE, d13C = TRUE, d15N = TRUE,
ferr = TRUE, VitB = TRUE)
我想我也可以将第一个用于数据框?
非常感谢
apply
首先将数据更改为矩阵,因为如果数据帧混合 class (数字,字符),矩阵只能保存一种类型的数据,因此它将数字列更改为字符值returning FALSE
为 is.numeric
。
这里有一个例子来展示你所观察到的。
DF <- data.frame(a = 1:5, b = letters[1:5])
apply(DF, 2, is.numeric)
# a b
#FALSE FALSE
sapply(DF, is.numeric)
# a b
# TRUE FALSE
相反,如果dataframe的所有列都是数字apply
将return TRUE
.
DF <- data.frame(a = 1:5, b = 1:5)
apply(DF, 2, is.numeric)
# a b
#TRUE TRUE
我想知道是什么导致了这两个命令之间的差异:
apply(DF,2,is.numeric)
c(ID = FALSE, diet = FALSE, height = FALSE, weight = FALSE, gender = FALSE,
wohn = FALSE, social = FALSE, alter = FALSE, d13C = FALSE, d15N = FALSE,
ferr = FALSE, VitB = FALSE)
sapply(DF,is.numeric)
c(ID = FALSE, diet = FALSE, height = TRUE, weight = TRUE, gender = FALSE,
wohn = FALSE, social = FALSE, alter = TRUE, d13C = TRUE, d15N = TRUE,
ferr = TRUE, VitB = TRUE)
我想我也可以将第一个用于数据框? 非常感谢
apply
首先将数据更改为矩阵,因为如果数据帧混合 class (数字,字符),矩阵只能保存一种类型的数据,因此它将数字列更改为字符值returning FALSE
为 is.numeric
。
这里有一个例子来展示你所观察到的。
DF <- data.frame(a = 1:5, b = letters[1:5])
apply(DF, 2, is.numeric)
# a b
#FALSE FALSE
sapply(DF, is.numeric)
# a b
# TRUE FALSE
相反,如果dataframe的所有列都是数字apply
将return TRUE
.
DF <- data.frame(a = 1:5, b = 1:5)
apply(DF, 2, is.numeric)
# a b
#TRUE TRUE