嵌套循环输出错误:下标超出范围

时间:2019-03-22 18:34:06

标签: r

我正在尝试从调查数据集中找出对地方政府的信心百分比。该数据集是2001年至2018年的时间序列数据,捕获了Target变量的响应,分别为“相当数量”,“很多”,“完全没有”和“不是很多”。 Year的时间序列分析已使用循环来确定百分置信度,但我面临的问题是使用嵌套循环在状态上对其进行隔离,并且出现错误“下标超出范围”。

我使用相同的代码仅运行2001年至2018年,并且运行良好。谁能帮助我如何使用聚合函数来解决此问题?

data<-read.csv("maindata.csv")
state<-unique(data$Respondent.state.of.residence)
Year<-seq(2001,2018,1)
output<-matrix(ncol=18,nrow = 51)


for(i in state[1]:state[51]){
  A<-subset(data,data$Respondent.state.of.residence==state[i])
for(j in Year[1]:Year[18]){
 B<-subset(A,A$Year.of.Interview==j) 
 C<-subset(B,B$Trust.and.Confidence.in.Local.Government=="A fair amount")
 D<-subset(B,B$Trust.and.Confidence.in.Local.Government=="A great deal")
 output[j,]<-(nrow(D)*mean(D$Weight)+nrow(C)*mean(C$Weight))/nrow(B)*100

}
}

输出应包含18列矩阵,指定年份和51行状态。

0 个答案:

没有答案
相关问题