我想计算特定组的平均值并将该值作为变量放在其他组上

I want to calculate mean value from specific group and put the value as variable on the other groups

希望有人能帮我解决这个问题。

我有关注这个数据。

Age_group, Mode, speed
1, car, 20
2, car,30
3, car,40
4, car,50
1, Bike, 20
2, Bike,30
2, Bike,40
3, Bike, 40
3, Bike,50
4, Bike,50

我想得到这个结果,其中模式车的Bike_speed基于模式自行车的平均值。

Age_group, Mode, Speed, Bike_speed
1, car, 20,2
2, car,30,3.5
3, car,40,4.5
4, car,50,5
1, Bike, 2,2
2, Bike,3,3.5
2, Bike,4,3.5
3, Bike,4, 4.5
3, Bike,5,4.5
4, Bike,5,4.5

提前致谢!

您可以使用 tidyverse

假设您的数据框名为 df

library(tidyverse)
# compute mean speed for bike mode by age group
bike_mean_df <- df %>% filter(Mode=="Bike") %>%
     group_by(Age_group) %>%
     summarise(Bike_speed=mean(speed))
# join to original dataframe
df %>% left_join(bike_mean_df)