2017-04-10 10 views
0

これは非常に簡単な質問かもしれませんが、私はすでにそれをしばらく扱っています。NaNが存在するところで行の値を抽出するR

私は、列Xにいくつかの "NaN"値があるデータフレームを持っています。 Xが "NaN"のときに列Aと列Bの行の値を抽出し、これらを新しいデータフレームに入れる必要があります。

は、私は解決策は、このif文のようなものであるべきだと思うが、それは動作しません:

X = df$X 
A = df$A 
B = df$B 

NaNvalues <- if (is.nan(X)) { 
    data.frame(A, B) 
} 

答えて

1
new_df <- df[is.nan(df$X), c("A","B")] 

は、あなたが探しているもの、あなたを与える必要があります。ここでは、列XNaNis.nan(df$Xで生成)のインデックスのベクトルを使用して、データフレームの行をインデックスします。

nans <- which(is.na(X)) 

あなたはまた、おそらくあなたがNaN/NAを適切に使用していることを確認したい:

関連する問題