CSV ファイルからのデータ フレームがあります。データ フレームには、DF
観測値を含む列と、測定が行われた日付を含む列 ( VaR2
) があります。日付が記録されていない場合、CSV ファイルには欠損データを表す値 が含まれますNA
。
Var1 Var2
10 2010/01/01
20 NA
30 2010/03/01
subset コマンドを使用して、列 ( ) の値new_DF
を持つ行のみを含む新しいデータ フレームを定義します。この例では、行 2 のみが新しい に含まれます。NA'
VaR2
DF
コマンド
new_DF<-subset(DF, DF$Var2=="NA")
動作しない場合、結果のデータ フレームには行エントリが含まれません。
元の CSV ファイルで値がNA
と交換されている場合NULL
、同じコマンドで目的の結果が生成されます。
new_DF <- subset(DF, DF$Var2=="NULL")
文字列の値NA
が元の CSV ファイルで提供されている場合、このメソッドを機能させるにはどうすればよいですか?
ベストアンサー1
欠損値をテストするために =='NA' を使用しないでください。is.na()
代わりに を使用してください。次のようにすればうまくいきます:
new_DF <- DF[rowSums(is.na(DF)) > 0,]
特定の列をチェックしたい場合は、
new_DF <- DF[is.na(DF$Var),]
NA文字値がある場合は、まず
Df[Df=='NA'] <- NA
欠損値に置き換えます。