Я создаю новую функцию:
newFunction <- function (varX) {
lst_a <- c("aa", "bb", "cc")
lst_b <- c("dd", "ee", "ff")
lst_c <- c("gg", "hh", "ii")
ifelse(varX %in% lst_a , x.out <- "List A" , x.out <- "Other List" )
ifelse(varX %in% lst_b , x.out <- "List B" , x.out )
ifelse(varX %in% lst_c , x.out <- "List C" , x.out)
return(x.out)
}
Когда я проверяю функцию, она работает хорошо.Но когда я применяю его к кадру данных, он не работает:
df <- as.data.frame(c("aa","cc","kk", "nn"))
df$new <- newFunction((df[,1]))
Я ожидал получить «Список A», «Список A», «Другой список», «Другой список» - но не повезлоесть ли у меня, и осталось со мной "Другой список", "Другой список", "Другой список", "Другой список"