为什么`apply(df,2,class)`将每列显示为字符?

Hei*_*erg 0 r

> d <- data.frame(s=c("a", "b", "c"), n=c(1,2,3)) 
> apply(d, 2, class)
Run Code Online (Sandbox Code Playgroud)

即使d有一个字符串和一个数字列,第二行显示一切都是字符?为什么?

由于这种方法不准确,有什么方法可以检查数据框中多列的类型?

hrb*_*str 5

apply将您的数据框强制转换为矩阵.尝试lapply改为:

lapply(df, class) 
$s
[1] "factor"

$n
[1] "numeric"
Run Code Online (Sandbox Code Playgroud)