我问过之前的问题(分割数据和运行线性回归循环),并且使用 tidyverse 和管道提供了一个很好的解决方案。我保存了数据中 4,000 个“键”的参数 p 值,将它们放入单独的数据帧中,然后运行一些直方图和其他视觉效果来检查 4,000 个键中每个键的参数的重要性。这在我运行它的前几次是有效的,但是在不同的参数/预测器上运行完全相同的代码,我不断收到一条错误消息:
Error in summary(lm(y1 ~ x1 + x2 ))$coefficients['x1', : subscript out of bounds
如果我在该键上运行单个模型并查看摘要,p值肯定存在于位置[x1,4]或中[2,4],但它不会在模型中返回。[3,4]有时它会运行,但随后会在或[4,4]等 上崩溃。
有人认为 tidyverse 正在杀死记忆,从而将其炸毁。我知道这不是代码,因为它有时会起作用,或者有时会比其他时候进步得更多,但它看起来很奇怪。那么,data.table循环整个数据集是更好的解决方案吗?我不熟悉如何链接在一起data.table,因此如何重新创建以下代码,用于data.table在我拥有的 4,000 个键和 10 多个参数上运行模型。
df
Key y1 x1 x2
A 10 1 3
A 11 2 4
A 12 3 5
B 13 4 6
B 14 5 7
B 15 6 8
C 16 7 9 …Run Code Online (Sandbox Code Playgroud)