如何为回归创建循环

时间:2017-09-17 16:17:15

标签: r loops regression lm repeat

我刚开始使用R进行统计,我感谢任何帮助。

我的任务是对索引中的一个指数和20个股票进行计算。该数据包含22列(DATE,INDEX,S1 ...... S20)和约4000行(每天一行)。

首先我导入.csv文件,称之为“数据集”并以这种方式计算日志返回,并为所有股票“S1-S20”加上INDEX。

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)

其次,我将数据存储在data.frame中:

S1_Reg1 <- lm(S1_logret~INDEX_logret)

然后我使用日志返回运行回归(S1到S20):

      void Main()
      {
    int[] numbers = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    Random rnd = new Random();

    System.Timers.Timer t = new System.Timers.Timer(1000);
    t.Elapsed += (s,e)=>{
        Console.WriteLine(rnd.Next(1, numbers.Length));
    };
    t.Start();
    Console.ReadLine();
     }

我无法弄清楚如何以更有效的方式编写代码并使用某些函数进行重复。

在进一步的步骤中,我必须在选定的时间间隔内对每一天进行横截面回归。手动完成是不可能的,R应该提供一些快速的解决方案。关于如何做这个部分我很不安全。但我也想在之前的计算中使用一种循环。

然而,我缺乏必要的R编码知识。任何形式的帮助,或文学或教程的建议,我们非常感谢!谢谢!

1 个答案:

答案 0 :(得分:1)

您可以在矩阵中提供所有单独的因变量来运行回归。像这样:

.input-search{
width: 500px;
}

输出:

#example data
Y1 <- rnorm(100)
Y2 <- rnorm(100)
X  <- rnorm(100)
df <- data.frame(Y1, Y2, X)

#run all models at once
lm(as.matrix(df[c('Y1', 'Y2')]) ~ X)