r - 嵌套循环输出错误:下标越界
问题描述
我试图从调查数据集中找出对地方政府的信心百分比。该数据集是从 2001 年到 2018 年的时间序列数据,捕获目标变量的响应为“相当数量”、“很多”、“一点也不”和“不是很多”。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 行状态。
解决方案
推荐阅读
- c# - 从 Azure 函数调用 DynamoDB 失败
- haskell - Haskell:在“do”块中递归
- javascript - 获取通过ajax附加到模式中的单选按钮值数据
- ethereum - this 和 address(this) 在solidity中有什么区别
- ajax - 无法在 laravel 中读取使用 ajax 的 formdata 文件
- php - 我如何在没有 messenger.yml 的情况下使用 Symfony Messenger?
- r - 有没有办法将 fviz_ca_biplot 与任何其他情节结合起来?
- java - 如何在android的实时firebase中引用子子?
- python - 附加到系列产生空结果
- c# - 当前上下文中不存在名称“sb”