web-dev-qa-db-ja.com

R-「TRUE / FALSEが必要な値がありません」

私はRで次のコードを実行しようとしています

comments = c("no","yes",NA)
for (l in 1:length(comments)) {
    if (comments[l] != NA) print(comments[l]);
}

しかし、エラーが発生しています

Error in if (comments[l] != NA) print(comments[l]) : missing value where TRUE/FALSE needed

何が起きてる?

8
user3582590

コマンドを確認してください:NA!=NA:結果NAを取得するため、エラーメッセージが表示されます。

ifstatementを機能させるには、関数is.naを使用する必要があります(通常、この関数を使用してNA値を確認することをお勧めします)。

comments = c("no","yes",NA)
for (l in 1:length(comments)) {
    if (!is.na(comments[l])) print(comments[l])
}
[1] "no"
[1] "yes"
18
Cath

If条件をこれに変更できますか?

if (!is.na(comments[l])) print(comments[l]);

Is.na()でのみNA値を確認できます。

4
Nikos