【发布时间】:2020-03-07 01:17:47
【问题描述】:
我有以下 MWE:
list <- c("Canada","USA","Brazil","China","Germany","Spain","France","UK","India","Iran",
"Italy","Japan","Mexico","Nederlands","Norway","NZ","Philippines","Poland","Russia","Sweden","Ukraine")
#What I want to do is something like this (although this doesn't do it):
avg_Canada <- sum(Canada[1:12], Canada>0) / length(Canada[1:12, Canada>0)
> Error in Canada[1:12, Canada > 0] : incorrect number of dimensions
#My idea for the loop
subsets <- c("1:12","13:24","25:36","37:48","49:60","61:72","73:84") #each year
for (c in seq_along(list)) {
avg_c <- rep(1:7) #create a new vector with 7 elements for each country
for (i in seq_along(subsets)) {
#here go through subsets and store 7 values in each of avg_c
}
}
我想获取list 中的每个向量(它们是num [1:84])并创建一个新向量,取它们的子集的平均值。这是因为每个中包含的数据是月度数据,我需要将其转换为年度数据。遗憾的是,我无法将向量包含在 MWE 中。例如,当我尝试创建avg_Canada 时,我只是在第一年而不是所有年份都尝试这样做,所以我认为每年都有一个循环适合。此外,正如你所知道的,我有很多国家。
我的命名方案在第一个嵌套循环中不正确,我对如何在第二个嵌套循环中创建 avg_c 变量一无所知,但我相信我的直觉在 avg_Canada“尝试”中被捕获你甚至可以这样称呼它。想知道这是否是解决此问题的方法。
【问题讨论】: