在矩阵与矩阵上应用lm或lsfit

时间:2013-03-26 07:57:29

标签: r

如何使用lm(或lsfit)将矩阵A的第1列与矩阵B的第1列拟合。然后矩阵A的第2列与矩阵B的第2列匹配,依此类推。矩阵可能有NA

1 个答案:

答案 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