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"
>
なぜこうなった?どうすればそれを回避できますか?