【发布时间】:2018-02-26 05:14:44
【问题描述】:
我刚开始将 R 用于统计目的,感谢任何形式的帮助。
我的任务是计算一个指数和指数中的 20 只股票。数据包含 22 列(DATE、INDEX、S1 .... S20)和大约 4000 行(每天一行)。
首先我导入了 .csv 文件,将其称为“数据集”并以这种方式计算日志返回,并对所有股票“S1-S20”加上 INDEX 执行此操作。
n <- nrow(dataset)
S1 <- dataset$S1
S1_logret <- log(S1[2:n])-log(S1[1:(n-1)])
其次,我将数据存储在 data.frame 中:
logret_data <- data.frame(INDEX_logret, S1_logret, S2_logret, S3_logret, S4_logret, S5_logret, S6_logret, S7_logret, S8_logret, S9_logret, S10_logret, S11_logret, S12_logret, S13_logret, S14_logret, S15_logret, S16_logret, S17_logret, S18_logret, S19_logret, S20_logret)
然后我使用对数返回运行回归(S1 到 S20):
S1_Reg1 <- lm(S1_logret~INDEX_logret)
我不知道如何以更有效的方式编写代码并使用某些函数进行重复。
在进一步的步骤中,我必须在选定的时间间隔内对每一天进行横截面回归。手动完成是不可能的,R 应该提供一些快速的解决方案。我对如何做这部分很不安全。但我也想在前面的计算中使用一种循环。
但我缺乏必要的 R 编码知识。非常感谢任何形式的帮助或对文献或教程的建议!谢谢!
【问题讨论】:
标签: r loops regression lm repeat