如何使用lm(或lsfit)将矩阵A的第1列与矩阵B的第1列拟合。然后矩阵A的第2列与矩阵B的第2列匹配,依此类推。矩阵可能有NA
答案 0 :(得分:1)
如果您强制使用data.frame,那么可以使用mapply将它们作为一系列列表进行处理:
> mapply(function(x,y) lm(y~x), as.data.frame(m1) , as.data.frame(m2) )
V1 V2 V3
coefficients Numeric,2 Numeric,2 Numeric,2
residuals Numeric,4 Numeric,4 Numeric,4
effects Numeric,4 Numeric,4 Numeric,4
rank 2 2 2
fitted.values Numeric,4 Numeric,4 Numeric,4
assign Integer,2 Integer,2 Integer,2
qr List,5 List,5 List,5
df.residual 2 2 2
xlevels List,0 List,0 List,0
call Expression Expression Expression
terms Expression Expression Expression
model List,2 List,2 List,2
> ?lsfit
> mapply(function(x,y) lsfit(y,x), as.data.frame(m1) , as.data.frame(m2) )
V1 V2 V3
coefficients Numeric,2 Numeric,2 Numeric,2
residuals Numeric,4 Numeric,4 Numeric,4
intercept TRUE TRUE TRUE
qr List,6 List,6 List,6