データ分析を目的とした DSL から予想されるように、R は欠落/不完全なデータを非常にうまく処理します。たとえば、次のようになります。
多くの R 関数には、TRUEに設定すると NA を削除するna.rmフラグがあります。
>>> v = mean( c(5, NA, 6, 12, NA, 87, 9, NA, 43, 67), na.rm=T)
>>> v
(5, 6, 12, 87, 9, 43, 67)
しかし、関数呼び出しの前に NA を処理したい場合は、次のようにする必要があります。
ベクトルから各「NA」を削除するには:
vx = vx[!is.na(a)]
ベクトルから各「NA」を削除し、「0」に置き換えるには:
ifelse(is.na(vx), 0, vx)
データフレームから「NA」を含む各行全体を削除するには:
dfx = dfx[complete.cases(dfx),]
これらの関数はすべて、「NA」または「NA」を含む行を完全に削除します。
ワークフローの次のステップでは、データ フレームの 'NA' を削除したコピーを作成する必要があるかもしれませんが、その後のステップでは、これらの行を元に戻したい場合がよくあります (たとえば、 「完全なケース」への以前の呼び出しによって行が欠落しているが、その列に「NA」値がない列の列単位の統計)。
私が探しているものについてできるだけ明確にするために: python/numpy には、マスクメソッドを備えたクラスmasked array があり、関数呼び出し中に NA を非表示にできますが、削除できません。Rに類似の機能はありますか?