【发布时间】:2017-06-06 21:12:52
【问题描述】:
我目前正在尝试为 30 个变量的滞后回归编写我的第一个循环。变量标记为 rx1, rx2.... rx3,数据帧称为 my_num_data。
我创建了一个如下所示的循环:
z <- zoo(my_num_data)
for (i in 1:30)
{dyn$lm(my_num_data$rx[i] ~ lag(my_num_data$rx[i], 1)
+ lag(my_num_data$rx[i], 2))
}
但我收到一条错误消息:
model.frame.default 中的错误(公式 = dyn(my_num_data$rx[i] ~ lag(my_num_data$rx[i], : 变量“my_num_data$rx[i]”的类型无效(NULL)
谁能告诉我这个循环有什么问题?
谢谢!
【问题讨论】:
-
您的循环正在读取
[i]作为变量“rx”的索引或行,该变量在 R 中通常排列为列。我认为您正在尝试使用[i]来指示变量或列,例如rx1。循环通常用于迭代变量的索引或行,但看起来您正在尝试迭代变量。不要使用循环来迭代变量。使用它来遍历构成每个变量的值(行或索引)。
标签: r loops quantitative-finance