我想循环一个向量并将值作为参数发送给函数。我想发送的值之一是NULL。这就是我一直在尝试的
things <- c('M','F',NULL)
for (thing in things){
doSomething(thing)
}
但循环忽略NULL值。有什么建议吗?
答案 0 :(得分:9)
循环不会忽略它。查看things
,您会看到NULL
不存在。
您无法在向量中混合类型,因此您不能在同一向量中同时使用"character"
和"NULL"
类型。改为使用列表。
things <- list('M','F',NULL)
for (thing in things) {
print(thing)
}
[1] "M"
[1] "F"
NULL
答案 1 :(得分:4)
使用c()
构造向量时,将忽略NULL值:
things <- c('M','F',NULL)
things
[1] "M" "F"
但是,如果通过NULL
下游很重要,您可以使用list
代替:
things <- list('M','F',NULL)
for (thing in things){
print(thing)
}
[1] "M"
[1] "F"
NULL