Если ваши данные большие, я бы посоветовал вам создать таблицу сопоставления, которая содержит коэффициент для каждой группы:
mapping_factor <- tibble(Group = c("A", "B"), f = c(100, 120))
Затем вы можете просто присоединиться к таблице сопоставления и потом разделить:
df %>% left_join(mapping_factor, by = "Group") %>%
mutate(var2 = var1 / f)
Если ваши данные не такие большие и у вас не так много разных Group
атрибутов, с которыми вы можете работать case_when
:
df %>% mutate(var2 = var1 / case_when(Group == "A" ~ 100,
Group == "B" ~ 120))