【发布时间】:2015-05-30 19:12:22
【问题描述】:
我有一些代码可以检查函数的输入是否是有效的美国州。我有一个带有 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 的逻辑向量。
【问题讨论】:
-
我认为你不需要
range即range(4)# [1] 4 4。你可能需要for(i in seq(length(...
标签: r function for-loop logical-operators scoping