0

Hope anyone can help me to solve this question.

I have following this data.

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

I would like to get this result, where the Bike_speed of mode car, based on the mean value of mode Bike.

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

Thank you in advance!

ail
  • 149
  • 7
  • Possible duplicate: https://stackoverflow.com/questions/23528862/summarize-with-conditions-in-dplyr – Cole Jul 14 '19 at 19:29

1 Answers1

1

You can do this using the tidyverse package

Assuming your dataframe is called 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)
fmarm
  • 4,209
  • 1
  • 17
  • 29