在调用apply
包含字符串的 data.frame 时,所有其他元素似乎都被强制转换为字符串,然后再传递给提供的函数:
> x<-data.frame(a=1:3,b=6:8)
> apply(x,1,function(y){y["b"]})
[1] 6 7 8
> x<-data.frame(a=1:3,b=6:8,d=c("a","bc","def"))
> apply(x,1,function(y){y["b"]})
[1] "6" "7" "8"
>
为什么会这样?我怎样才能避免它?