【问题标题】:R - Running a regression for tibbles identified by an id out of a dataframe in long formatR - 对长格式数据帧中的 id 标识的小标题运行回归
【发布时间】:2020-06-20 16:10:45
【问题描述】:

我想以长格式循环 data_all_long,其中包含由 stockID 标识的 元组。 使用unique(),我将所有不同的 ID 存储在数据帧“uniqueIDs”中。 “Numberofrows”是包含上述时间序列元组的列表的长度。

理想情况下,tmp 变量应将一个特定 ID 的所有数据暂时存储在长列表之外,以计算一个特定 ID 的回归并将其存储到一个向量中。 总体结果应该是一个向量,其中包含不同 ID 的所有回归系数。

for(i in uniqueIDs){
  for(j in 1:numberofrows){
      tmp <- rbind(tmp,filter(data_all_long, stockId == i))
  }
  beta[,i] <- lm(mrf ~ stockreturn, data = tmp) 
}

这里有人有什么想法吗?

【问题讨论】:

    标签: dataframe time-series r time-series regression lm


    【解决方案1】:

    就我对这个问题的理解,以下可能会做到这一点。
    诀窍是通过IDsapply 对每个结果数据帧使用匿名函数split 数据。该函数将拟合模型并提取系数。

    sp <- split(data_all_long, data_all_long$ID)
    beta <- sapply(sp, function(tmp){
      fit <- lm(mrf ~ stockreturn, data = tmp)
      coef(fit)
    })
    

    【讨论】:

    • 您的解决方案非常适合我的问题,非常感谢。我会在 cmets 中对此有另一个问题。也许你可以看看。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-20
    • 1970-01-01
    • 1970-01-01
    • 2020-05-25
    • 2022-10-12
    • 2022-08-09
    • 2016-09-20
    相关资源
    最近更新 更多