我有73个大小相同的 Dataframe 。它们都有5列和120行。我将它们存储在一个列表中。我想使用lapply对它们运行一个lm函数。我想对列表中的每个数据集的第一列在接下来的3个相邻列上进行回归。我在弄清楚如何在lapply函数中通过索引引用列时遇到了麻烦。
我无法使用名称,因为所有列的名称都不同。下面是我尝试的方法:
my_lms_ESW <- lapply(listDF_ESW, function(x) lm( x[,1] ~ x[,2]
+ x[,3] + x[,4], x))
2条答案
按热度按时间iswrvxsc1#
在您函数(x)中:
这将通过粘贴列的名称沿着~和+来组装公式对象。
u3r8eeie2#
lm()
在传递 Dataframe 时的默认行为是调用DF2formula()
,它将所有其他列回归到第一列,因此在这种情况下,您只需执行以下操作: