Error: invalid type(list) for variable when using lm()
On Nov 25, 2011, at 11:41 AM, Dhaynes wrote:
Ok let me clarify I have multidimensional array and I need to convert it to a singular dimensional array. The multidimensional array is 359 rows, 2 cols, 3 deep I need to run a regression model mymatrix[1,1,1:3] and mymatrix [1,2,1:3] This is my current error, which indicates I have the incorrect list type (I have tried functions as.list, as.vector, as.vector) lm(formula = mymatrix[1,1,1:3]~mymatrix[1,2,1:3] ) Error in model.frame.default(formula = mymatrix[1, 1, 1:3] ~ mymatrix[1, : invalid type (list) for variable 'mymatrix[1, 1, 1:3]' I was unsuccessful at attempting the "str(mymatrix[1,1,1:3]" -- Argument not valid model The data.frame function did not create the objects <- data.frame(a=mymatrix[1,1,1:3], b=mymatrix[1,2,1:3])
lm(a~b, data=df)
Error in eval(expr, envir, enclos) : object 'a' not found Here is my code con <- dbConnect(PostgreSQL(), user="postgres", password="antione",dbname="Education") rs <- dbGetQuery(con, "SELECT (GRADE1[10]) As grade1_t1, (GRADE1[11]) As grade1_t2, (GRADE1[12]) As grade1_t3, (GRADE2[11]) As grade2_t2, (GRADE2[12]) As grade2_t3, (GRADE2[13]) As grade2_t4 FROM attending") myval <- rs attach(myval)
Generally a bad idea to attach objects. It's a sin that is committed by several authors but it generally gets in the way of safe code writing. Better to use with().
names(myval) dim(myval) mymatrix <- array(myval, c(379,2,3)) mymatrix[,1,1] <- grade1_t1 mymatrix[,1,2] <- grade1_t2 mymatrix[,1,3] <- grade1_t3 mymatrix[,2,1] <- grade2_t2 mymatrix[,2,2] <- grade2_t3 mymatrix[,2,3] <- grade2_t4
But what are these various grade-named objects? Are you sure you didn't coerce the matrix to character mode? What is str(mymatrix) after this?
David. > > I can do this > plot(mymatrix[1,1,1:3],mymatrix[1,2,1:3]) > > On Fri, Nov 25, 2011 at 6:06 AM, Bert Gunter [via R] < > ml-node+s789695n4107159h96 at n4.nabble.com> wrote: > >> Inline below. >> >> -- Bert >> >> On Fri, Nov 25, 2011 at 2:31 AM, Milan Bouchet-Valat <[hidden >> email]<http://user/SendEmail.jtp?type=node&node=4107159&i=0>> >> wrote: >> >>> 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. >> >> ?as.vector >> Actually an array **is** a vector -- but with an additional "dim" >> attribute. Try: >>> str(x) >> >> >>>> >>>> any help would be appreciated. >> >> 1) Read relevant portions of R docs, like ?array and perhaps "An >> Introduction to R." >> >> 2) Read and follow the posting guide. In particular, give us a toy >> example with the code you used to construct your array. It's >> difficult >> to diagnose the source of engine failure without the car. >> >> 3) See my comment below. >> >>> 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 >> >> --This is patently false. Please check before giving obviously wrong >> advice: >> >>> x <- array(rnorm(150), dim= c(10,5,3)) >>> lm(x[,3,2] ~x[,1,1]) >> >> Call: >> lm(formula = x[, 3, 2] ~ x[, 1, 1]) >> >> Coefficients: >> (Intercept) x[, 1, 1] >> -0.1247 0.1171 >> >> >> >> >> >>> 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])) >>> >>> >>> Regards >>> >>> ______________________________________________ >>> [hidden email] <http://user/SendEmail.jtp? >>> type=node&node=4107159&i=1>mailing list >>> https://stat.ethz.ch/mailman/listinfo/r-help >>> PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >>> and provide commented, minimal, self-contained, reproducible code. >>> >> >> >> >> -- >> >> Bert Gunter >> Genentech Nonclinical Biostatistics >> >> Internal Contact Info: >> Phone: 467-7374 >> Website: >> >> http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm >> >> ______________________________________________ >> [hidden email] <http://user/SendEmail.jtp? >> type=node&node=4107159&i=2>mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> >> >> ------------------------------ >> If you reply to this email, your message will be added to the >> discussion >> below: >> >> http://r.789695.n4.nabble.com/Error-invalid-type-list-for-variable-when-using-lm-tp3045462p4107159.html >> To unsubscribe from Error: invalid type(list) for variable when using >> lm(), click here<http://r.789695.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3045462&code=aGF5bmVzZDJAZ21haWwuY29tfDMwNDU0NjJ8MjA1OTM1OTY5 >> > >> . >> NAML<http://r.789695.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.InstantMailNamespace&breadcrumbs=instant+emails%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml >> > >> > > > -- > View this message in context: http://r.789695.n4.nabble.com/Error-invalid-type-list-for-variable-when-using-lm-tp3045462p4107912.html > Sent from the R help mailing list archive at Nabble.com. > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. David Winsemius, MD West Hartford, CT