我有一些代码来检查函数的输入是否是有效的US状态。我有一个带有State列的CSV文件,这些是我唯一关心的状态。所以我用for循环创建了这个代码来检查输入是否匹配该列表中的任何状态,如果是,则返回值TRUE。
valid_state <- function(state) {
CSV <- read.csv("outcome-of-care-measures.csv")
for (i in range(length(unique(CSV$State)))) {
if (state == unique(CSV$State)[i]) {
return (TRUE)
}
}
}
它返回的全部是NULL。我知道仅通过查看CSV文件就可以输入有效状态。我认为问题在我尝试引入问题时开始,但我不知道为什么。基本上,输入只能匹配列表中的一个状态,如果匹配,它应该只返回一个TRUE的逻辑向量。
答案 0 :(得分:3)
也许这个。忘记前面的“1:”是一个常见的错误:
valid_state <- function(state) {
CSV <- read.csv("outcome-of-care-measures.csv")
for (i in 1:length(unique(CSV$State))) {
if (state == unique(CSV$State)[i]) {
return (TRUE)
}
}
}