Учитывая этот фрейм данных:
library(dplyr)
df.ex <- tibble(id = c(rep(1, 4), rep(2, 4), rep(3, 4)),
var1 = c('a','a','b','b','a','a','a','a','b','b','b','b'))
Я хотел бы создать новую переменную var2
, основанную на наличии b
в var1
, которая сгруппирована по столбцу id
.Таким образом, каждый id
может содержать только один тип значения в выходном столбце.Это надежда на результат:
df.ex.outcome <- tibble(id = c(rep(1, 4), rep(2, 4), rep(3, 4)),
var1 = c('a','a','b','b','a','a','a','a','b','b','b','b'),
var2 = c(rep('foo', 4), rep('bar', 4), rep('foo', 4)))
Я думал, что использование group_by
решит эту проблему, однако, похоже, это не сработает, вот так:
df.ex <- df.ex %>% group_by(id) %>% mutate(var2 = if_else(var1 %in% 'b', 'foo','bar'))
Кто-нибудьесть идеи как это сделать?