У меня есть простой/запутанный вопрос в R.Как применить функцию к нескольким переменным в R?
Вот пример моей проблемы.
У меня есть строка цифр или символов:
data <- c(1,2,3,4,5)
и у меня есть функция, которую я хочу, чтобы применить к нескольким переменным в строке.
dd <- function(d){if(d==data[1:3]) 'yes'
else 'no'}
, но когда я применить функцию к строке я получил эту ошибку
unlist(lapply(data,dd))
сообщение Предупреждения:
1: In if (d == data[1:3]) "yes" :
the condition has length > 1 and only the first element will be used
2: In if (d == data[1:3]) "yes" :
the condition has length > 1 and only the first element will be used
3: In if (d == data[1:3]) "yes" :
the condition has length > 1 and only the first element will be used
4: In if (d == data[1:3]) "yes" :
the condition has length > 1 and only the first element will be used
5: In if (d == data[1:3]) "yes" :
the condition has length > 1 and only the first element will be used
Итак, мой вопрос, как я могу применить функцию к нескольким переменные в строке не только для первого элемента? , чтобы получить выходной сигнал как
"yes" "yes" "yes" "no" "no"
Заранее спасибо,
Нет необходимости в 'lapply' цикла:' IfElse (d% в% данных [1: 3], "да", "нет") ' – Roland
Он работает, но как я могу применить это к примеру: , если я хочу иметь «да» для c (1,2) и «no» для «3» и «None» для остальных (4,5)? Есть ли другой способ объединить эти три условия в ifelse? Насколько я знаю, можно определить только 2 условия для ifelse (например, yes/no) – user3576287