Существуют (как минимум) два варианта, использующие методы dplyr
. Обратите внимание, что здесь я предполагаю, что ваша Year
переменная является символьным вектором. Первый вариант использует оператор ifelse
:
ABVILE %>%
mutate(Exams = ifelse(Year == "2009-12-01", 1709.67, Exams)) %>%
data.frame
ifelse
принимает условие теста и два условия возврата (если условие выполнено и не выполнено, соответственно). Это простое решение, если у вас есть только одно условие теста. Если вам нужно объединить многие из них, то dply
предоставляет замечательную функцию под названием case_when
. Вот как это будет выглядеть:
ABVILE %>%
mutate(Exams = case_when(Year == "2009-12-01" ~ 1709.67,
Year == "2010-01-01" ~ 999.999)) %>%
data.frame
Это эквивалентно
ABVILE %>%
mutate(Exams = ifelse(Year == "2009-12-01", 1709.67,
ifelse(Year == "2010-01-01", 999.999, NA))) %>%
data.frame
Очевидно, что с case_when
будет гораздо легче справиться, если у вас будет много условий / заданий теста.