1

I am trying to create a loop to find the mean between time and year. Is this even a possibility or do #I have to calculate each of the means independently, like below? I'm new to the R language so any advice #would be greatly appreciated :)

mean_1900 = mean(speed.data$Time[speed.data$Year == 1900])
mean_1904 = mean(speed.data$Time[speed.data$Year == 1904])
mean_1908 = mean(speed.data$Time[speed.data$Year == 1908])
mean_1912 = mean(speed.data$Time[speed.data$Year == 1912])
mean_1920 = mean(speed.data$Time[speed.data$Year == 1920])
mean_1924 = mean(speed.data$Time[speed.data$Year == 1924])
mean_1928 = mean(speed.data$Time[speed.data$Year == 1928])
mean_1932 = mean(speed.data$Time[speed.data$Year == 1932])
mean_1936 = mean(speed.data$Time[speed.data$Year == 1936])
mean_1948 = mean(speed.data$Time[speed.data$Year == 1948])
mean_1952 = mean(speed.data$Time[speed.data$Year == 1952])
Phil
  • 7,287
  • 3
  • 36
  • 66

1 Answers1

1

Try the code below

yr <- c(1900,1904,1908,1012,1920,1924,1928,1932,1936,1948,1952)
list2env(setNames(lapply(yr,function(k) with(speed.data, mean(Time[Year==k]))),paste0("mean_",yr)),envir = .GlobalEnv) 

or

list2env(setNames(lapply(with(speed.data,split(Time,Year)),mean),paste0("mean_",unique(speed.data$Year))),envir = .GlobalEnv)
ThomasIsCoding
  • 96,636
  • 9
  • 24
  • 81