平均したいデータフレームに3つの列があります。問題は、列の1つに「NA」と表示されているスペースがあることです。私が働いているデータセットは非常に大きいですが、私は以下の例でそれを簡素化します:R - NAをNaNに変換する
a <- c(1,2,3,4)
b <- c(2,3,4,5)
c <- c(3,NA,NA,6)
df <- data.frame(a,b,c)
df$mean <- (df$a + df$b + df$c)/3
df
a b c mean
1 1 2 3 2
2 2 3 NA NA
3 3 4 NA NA
4 4 5 6 5
私はNA
年代を無害なものに置き換えられるようにNaN
のように、df$c
をフォーマットしたいと思います、またはデータフレーム内にまだ場所を保持している間に平均操作によって無視される他の値であってもよい。もしC列のNA
を無視する別の方法があるとすれば、私は満足しています。
方法を試すことができます - NaN'? – mRcSchwering
'df [is.na(df)] < - NaN'は平均操作によって無視されることに注意してください。 'NaN'を返します。 – ANG
「NaN」は平均的な観点から「無害」であることはわかりません。 'mean(c(1、NaN))'は 'NaN'を返します。数値計算のために欠けているデータを処理する方法は、面倒な統計的な質問になる可能性がありますが、無視したいと思うなら、 'na.rm'パラメータが行く方法です。 – HarlandMason