[R] Error: invalid type(list) for variable when using lm()

Milan Bouchet-Valat nalimilan at club.fr
Fri Nov 25 11:31:47 CET 2011

Le vendredi 25 novembre 2011 à 00:02 -0800, Dhaynes a écrit :
> Hello,
> I am new to R.
> I have multidimensional array (379,2,3) and I need to create a series of
> linear regressions (379 to be exact)
> I have the array stored properly I believe, but I can not use the
> lm(myarray[1,1,1:3]~myarray[1,2,1:3])
> I have checked to make sure they are exactly the same length.
> I have also tried endlessly to convert the subset of the array back into a
> vector.
> any help would be appreciated.
The 'formula' argument of lm doesn't take actual values, but variable
names. So you need to create vectors containing your data, or pass a
data frame with these vectors are columns. So, going the latter way :
df <- data.frame(a=myarray[1,1,1:3], b=myarray[1,2,1:3])
lm(a ~ b, data=df)

or in one step
lm(a ~ b, data=data.frame(a=myarray[1,1,1:3], b=myarray[1,2,1:3]))


More information about the R-help mailing list