无法将函数设置为 return TRUE

Trouble getting function to return TRUE

我有一些代码可以检查函数的输入是否是有效的美国州。我有一个带有状态列的 CSV 文件,这些是我唯一关心的状态。所以我用 for 循环编写了这段代码,以检查输入是否与该列表中的任何状态匹配,如果匹配,则 return 值为 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)
        }
    }
}

所有 returns 都是 NULL。我自己查看 CSV 文件就知道进入了有效状态。我认为当我尝试介绍问题时问题就开始了,但我不知道为什么。基本上,输入只能匹配列表中的一个状态,如果匹配,它应该只是 return 一个逻辑向量,其中一个为 TRUE。

也许是这个。忘记前面的 "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)
        }
    }
}