apply と R 3.0.1 で奇妙な問題が発生しています。
テキスト、数値、および論理値を含む巨大なデータフレームがあります。apply を使用すると、論理値は chr に変換されますが、R では TRUE == "TRUE" のようなものを使用できるため、これは問題ではありません。
しかし、一部の論理値では、apply のように先頭にスペースが追加され、TRUE == "TRUE" は NA を返します。もちろん、できました
sapply(cuelist[,4],FUN=function(logicalvalue) as.logical(sub("^ +", "", logicalvalue)))
しかし、それは良くありません.なぜRがそうするのかはまだわかりません.
df <- data.frame(test=c("a","b","<",">"),logi=c(TRUE,FALSE,FALSE,TRUE))
apply(df, MARGIN=1, function(listelement) print(listelement) )
興味深いことに、スペースはこの例では [2,1] と [2,4] にのみ表示されます。
バージョン _
プラットフォーム x86_64-w64-mingw32
arch x86_64
os mingw32
システム x86_64, mingw32
ステータス
メジャー 3
マイナー 0.1
年 2013
月 05
日 16
svn rev 62743
言語 R
version.string R バージョン 3.0.1 (2013-05-16) ニックネーム Good Sport
編集: R バージョン 2.15.0 (2012-03-30) で同じ動作
Edit2:私のデータフレームはこのように見えます
> df
test logi
1 a FALSE
2 b FALSE
3 < TRUE
4 > TRUE
> str(df)
'data.frame': 4 obs. of 2 variables:
$ test: Factor w/ 4 levels "<",">","a","b": 3 4 1 2
$ logi: logi FALSE FALSE TRUE TRUE