使用for循环从大型数据库创建嵌套列表

时间:2019-04-15 20:14:18

标签: r

我正在使用一个庞大的调查数据数据库(从2003年到2019年,每月有182545个观测值以34个变量的频率进行观测)。每月有800至1300名受访者。我的最终目标是总结每个月对每个问题的回答(肯定的百分比,中性的百分比,否定的百分比),但是我发现按月分离出有问题的数据的第一步。

加载数据后,我创建了一个嵌套列表,其中包含一个使用表示年份和月份的值来列出每个月受访者的长度。这可以按预期工作,但我似乎无法用实际数据填充每个月的列表,并且正在努力找出我要去哪里。

# extract yearmo unique values

yearmo <- unique(esm$yearmo)

# create main nested list

nest <- as.list(rep("", length(yearmo))) # main nest for 195 months

for(i in 1:length(yearmo)){
  nest[[i]] <- as.list(rep("", length(which(esm$yearmo==yearmo[[i]]))))

}


for(k in 1:(length(nest[[j]][k])-1)){
  for(j in 1:(length(nest[[j]]-1))){
    nest[[j]][k] <- esm[which(esm$yearmo == yearmo[[j]]), ]
  }
}

我得到的错误是:nest [[j]]中的错误:下标超出范围

0 个答案:

没有答案