1

我正在尝试创建一个循环来找到时间和年份之间的平均值。这甚至是一种可能性还是#我必须独立计算每种方法,如下所示?我是 R 语言的新手,所以任何建议#将不胜感激:)

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])
4

1 回答 1

1

试试下面的代码

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) 

或者

list2env(setNames(lapply(with(speed.data,split(Time,Year)),mean),paste0("mean_",unique(speed.data$Year))),envir = .GlobalEnv)
于 2020-12-12T01:41:59.847 回答