R言語におけるデータフレームから欠損値を除去する方法、欠損値しかない列の除去(もしくは0への変換)
たびたび初歩的な質問で申し訳ありません。
下記質問では大変お世話になりました。
R言語におけるMann Whitney Test (もしくはt-test)の計算結果の出力する方法
今度は下記のようなデータの取り扱いについて、ご教授お願い出来ないでしょうか。
A1 A2 A3 A4
31 54
56 48 69
11 13 14
16 18
63 24
28 22
31 33 31
36 78 31
41 43 41
とあるデータの大元の測定器からの出力が上記のようなexcelファイルであり、これまではexcelを使って空欄を削除し、上に詰めていました。
A1 A2 A3 A4
31 48 54
56 13 69
11 18 14
16 63 24
31 28 22
36 33 31
41 78 31
43 41
このようなデータをwilcox.exact
で実行すると、A2列に数字がないため(全てNA)にエラーがでました。そこでData <- Data[ ,is.na(Data[1,]) == FALSE]
で1行目に数値データがないものを削除したのですが、列がずれると後々面倒かと思い、Data[ ,is.na(Data[1,])] <- 0
にて、1行目に数値データがない列のNAを全部0にしてみました。(そもそもこの列にデータが無いことは図により認識できるので、とにかくwilcox.exact
が動けば良しです。)
しかし、excelでの処理を簡素化できないかと思い、
A1 A2 A3 A4
31 54
56 48 69
11 13 14
16 18
63 24
28 22
31 33 31
36 78 31
41 43 41
上記のデータのまま、下記の処理ができないかと考えています。
・列の値がNAしかないのものはNAを0にする。
・その他の場合はNAを削除し、上に詰める。
NAを全て0にした場合、演算結果に影響がでるのでは考えていますが、NAを0にする方法も教えていただければ幸いです。
ご指導のほど、よろしくお願いいたします。