В настоящее время я работаю над следующей проблемой:
Я пытаюсь разбить свой набор данных по группам и создать новую переменную, которая фиксирует среднее по группам всех противоположных случаев, которые не принадлежат этой группе, за определенный период времени.
Вот копия моего кода с использованием набора данных mpg.
cars <- mpg
cars$other_cty_yearly_mean <- 0
for(i in cars$cyl){
cars <- cars %>%
group_by(year) %>%
mutate(other_cty_yearly_mean = if_else(
cyl == i,
mean(cty[cyl != i]),
other_cty_yearly_mean
)) %>%
ungroup() %>%
as.data.frame()
}
Есть ли лучший способ, который не делает цикл for необходимым?
Спасибо и всего наилучшего!