CSVを読み込んだので、「空の」行と列を見つけて、
isempty = function(x) all(is.na(x) | x == 0 | x == "")
すべての列に同じようなものを適用したいと思います。最初の列はモード文字で、他のすべては数値です。
ただし、実行するとemptycols = apply(mydf, 2, isempty)
、返される論理ベクトルはすべてFALSE
です。
私が試してみるとemptycols = apply(mydf[ , -1], 2, isempty)
、それは完全に機能し、すべての「空の」列に対してTRUEである論理ベクトルを返します。
とにかくうまく機能するsapplyを使用できることは承知していますが、それでも疑問に思います。この動作の原因は何ですか。最初の(文字)列は、他のすべての列への関数の適用にどのように影響しますか?