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にする方法も教えていただければ幸いです。
ご指導のほど、よろしくお願いいたします。