我试图对数据框中的两列进行简单的线性回归,针对每一行。经过一些研究,我感觉我已经接近成功了,但我的函数仍然不能工作。请看一下:
set.seed(1)
DF <- data.frame(A=rnorm(50, 100, 3),
B=rnorm(50, 100, 3))
resultlist <- apply(DF, 1, function(y) lm(y ~ x))
resultcoeffs <- apply(DF, 1, function(y) lm(y ~ x)$coefficients)
你有什么实现此目标的建议吗?感谢你提前的帮助。
DF1 <- DF[!rowSums(is.na(DF)),]
,然后对DF1
进行操作。对于被删除的行,你可以从which(!!rowSums(is.na(DF)))
中获取索引。 - akrunif
else
条件。例如:mapply(function(x,y) if(any(is.na(c(x,y)))) NA else lm(y~x)$coefficients, DF[,1], DF[,2])
。 - akrun