Вот мой оригинальный df:
my_df_1 <- data.frame(col_1 = c(rep('a',5), rep('b',5), rep('c', 5)),
col_2 = c(rep('x',3), rep('y', 9), rep('x', 3)))
Я бы хотел сгруппировать по col_1
и вернуть 1, если col_2
для данной группы содержит x
, и 0, если нет.
Вот как должен выглядеть конечный результат:
my_df_2 <- data.frame(col_1 = c(rep('a',5), rep('b',5), rep('c', 5)),
col_2 = c(rep('x',3), rep('y', 9), rep('x', 3)),
col_3 = c(rep(1,5), rep(0,5), rep(1, 5)))
Я бы предпочел, чтобы это было сделано с dplyr
, если это возможно.Это своего рода предикат count if
, но не может его найти.