r - x[[jj]] <- v 中的错误:尝试在 integerOneIndex 中选择少于一个元素
问题描述
我一直在使用这段代码时遇到问题,其目的是对不同的块运行回归,每个块都有 161 个数据点。似乎它没有考虑到 number_of_regressions 的所有值,它是从 0 到 86 的数字序列,由 1 组成。
错误:x[[jj]] <- v 中的错误:尝试在 integerOneIndex 中选择少于一个元素
n <- 161
# Creates a sequence of numbers to replace i in the for loop
number_of_regressions <- c(0:86) # (from 0 to 86)
# Regression
for(i in number_of_regressions) {
Regression <- lm(y ~ x + z, data = Data[(1+n*i):(n*(i+1)),])
Intercept[i] <- summary(Regression)$coefficients[1,1]
x[i] <- summary(Regression)$coefficients[2,1]
}
目的是从第一个数据点到第 161 个,然后从 162 到 322 进行多次回归,这意味着每个数据点都包含 161 个数据点的移动块。
我很感激任何帮助。
解决方案
您可以尝试这样的事情,基本上设置一个data.frame,第一列是您迭代的内容:
Data = data.frame(matrix(rnorm(150000),ncol=3))
colnames(Data) = c("x","y","z")
results = data.frame(n=0:86,Intercept=NA,x=NA)
n <- 161
number_of_regressions <- c(0:86)
for(i in number_of_regressions) {
Regression <- lm(y ~ x + z, data = Data[(1+n*i):(n*(i+1)),])
results[results$n==i,c("Intercept","x")] = summary(Regression)$coefficients[1:2,1]
}
推荐阅读
- javascript - 如何查询特定余额以上特定以太坊代币的所有地址
- javascript - 扩展 ApolloQueryResult 以定义数据键值
- wordpress - 为什么我的 wordpress 链接重定向到旧安装?
- pandas - Pandas GroupBy、Pivot 和 Aggregate
- react-native - React Native 当自动对焦为真时,它不会专注于文本输入
- javascript - 切换后的动画不应用第二种样式
- python - 如何使用三个输入存储多个列表
- spring-security - 带有 Spring Security 和 ABAC 的 Keycloack
- java - 解析 localDateTime 时无法从 Temporal Accessor 获取 LocalDateTime。我正在努力摆脱不到 30 天的几个月
- c# - 如何获得特定点的波高