R 对同一数据框内的不同因素进行相同的线性回归

R 对同一数据框内的不同因素进行相同的线性回归,r,linear-regression,R,Linear Regression,我正在处理一个非常大的数据集,下面列出了一个简单的版本 group <- c(rep("A", 3), rep("B", 3), rep("C", 3)) X <- c(0, 1, 2, 0, 1, 2, 0, 1, 2) Y <- c(0, 2, 4, 0, 3, 6, 0, 4, 8) df <- data.frame(group, X, Y) 组这应该有效。在函数中做你想做的事情 lapply(split(df,df$group),function(x){l

我正在处理一个非常大的数据集,下面列出了一个简单的版本

group <- c(rep("A", 3), rep("B", 3), rep("C", 3))
X <- c(0, 1, 2, 0, 1, 2, 0, 1, 2)
Y <- c(0, 2, 4, 0, 3, 6, 0, 4, 8)   
df <- data.frame(group, X, Y)

组这应该有效。在函数中做你想做的事情

lapply(split(df,df$group),function(x){lm( x$Y ~ x$X )})

答案见此[谢谢@ChirayuChamoli,这对这里的示例数据很有效。当我将其应用于我的大数据集时,我收到以下错误:lm.fit中的错误(x,y,offset=offset,singular.ok=singular.ok,…):0(非NA)案例你知道为什么这可能是另一个线程的问题吗?我已经检查了数据帧中是否存在NA和零,使用sapply(newdf,function(x)sum(is.NA(x))@Ben这似乎也适用于NA。无论如何,如果使用NA,请在lm中添加NA.action=NA.ommit。
lapply(split(df,df$group),function(x){lm( x$Y ~ x$X )})