Я хотел бы восстановить для каждого пользователя набора данных суммы «значения», если «флаг» ниже 5.dplyr: group_by и который
я мог бы использовать ifelse
вместо which
но Я не понимаю, почему этот код не работает:.
df <- data.frame(
user_id = c(1, 1, 1, 2, 2, 2),
flag = c(2,5, 3, 1, 2, 7),
value = c(20, 10, 4, 3, 2, 2)
)
df
library(dplyr)
df2 =
df %>%
group_by(user_id) %>%
mutate(variable1 = sum(.$value[which(.$flag<5)]),
variable2 = sum(.$value[which(.$flag<10)])) %>%
ungroup()
Ошибка в $ C (20, 10, 4): неверный тип подстрочный 'двойной'
Вам не нужно '. $' – akrun
Извините df2%>% была ошибка, которую я только что отредактировали – Ricol