5

ベクトルをループして、値をパラメーターとして関数に送信したいと考えています。送信したい値の 1 つが NULL です。これは私が試してきたことです

things <- c('M','F',NULL)
for (thing in things){
    doSomething(thing)
}

ただし、ループは NULL 値を無視します。助言がありますか?

4

2 に答える 2

10

ループはそれを無視しません。見てみると、そこにないthingsことがわかりますNULL

ベクトルにタイプを混在させることはできないため、同じベクトルに"character"とタイプの両方を含めることはできません。"NULL"代わりにリストを使用してください。

things <- list('M','F',NULL)
for (thing in things) {
  print(thing)
}
[1] "M"
[1] "F"
NULL
于 2012-07-24T20:21:43.247 に答える
5

でベクトルを構築するc()場合、NULL の値は無視されます。

things <- c('M','F',NULL)
things
[1] "M" "F"

ただし、NULLダウンストリームを渡すことが重要な場合は、list代わりにa を使用できます。

things <- list('M','F',NULL)
for (thing in things){
  print(thing)
}
[1] "M"
[1] "F"
NULL
于 2012-07-24T20:24:38.683 に答える