Я искал решение этой проблемы и не смог найти его.Это несколько похоже на другие вопросы, поэтому, если это дубликат, я прошу прощения.
Я хочу проверить два условия на фрейме данных, и когда оба условия будут выполнены, изменить третий столбец.Это может быть легче увидеть на примере:
greetings <- c("Hello", "Howdy", "Hola")
df <- data.frame(
Criteria_1 = c("Hello", "Hello", "Goodbye", "Goodbye", "Hello"),
Criteria_2 = c("Yes", "No", "Yes", "No", "Yes"),
Change_col = c(1,5,6,9,3))
Criteria_1 Criteria_2 Change_col
1 Hello Yes 1
2 Hello No 5
3 Goodbye Yes 6
4 Goodbye No 9
5 Hello Yes 3
Я хотел бы проверить, имеет ли значение Criteria_1 значение в переменной'reeting 'и имеет ли Criteria_2 значение' Yes '.Когда оба значения верны, я бы хотел изменить значение в 'Change_col' на 10.
Это то, что я пробовал, но оно изменяет все значения Change_col на 10.
if(df$Criteria_1 %in% greetings & df$Criteria_2 == 'Yes'){
df$Change_col <- '10'
Я думаю, что мне, возможно, придется использовать функцию применения?Но не совсем уверен, как это сделать.Желаемый результат будет таким:
Criteria_1 Criteria_2 Change_col
1 Hello Yes 10
2 Hello No 5
3 Goodbye Yes 6
4 Goodbye No 9
5 Hello Yes 10