[R] GLM Coding Issue
Steve Lianoglou
mailinglist.honeypot at gmail.com
Tue Nov 27 23:34:23 CET 2012
Hi,
Comments inline:
On Tue, Nov 27, 2012 at 1:00 PM, Craig P O'Connell
<coconnell2 at umassd.edu> wrote:
>
>
> Dear all,
>
> I am having a recurring problem when I attempt to conduct a GLM. Here is what I am attempting (with fake data):
> First, I created a txt file, changed the directory in R (to the proper folder containing the file) and loaded the file:
>
> #avoid<-read.table("avoid.txt",header=TRUE);avoid
> # treatment feeding avoid noavoid
> #1 control nofeed 1 357
> #2 control feed 2 292
> #3 control sat 4 186
> #4 proc nofeed 15 291
> #5 proc feed 25 288
> #6 proc sat 17 140
> #7 mag nofeed 87 224
> #8 mag feed 34 229
> #9 mag sat 46 151
>
> I then try to "attach(avoid)" the data, but continue to get an error message ( The following object(s) are masked _by_ .GlobalEnv :), so to fix this, I do the following:
>
> #newavoid<-avoid
> #newavoid (does this do anything?)
It essentially makes a copy of `avoid` to `newavoid` -- what did you
want it to do?
That having been said, a good rule of thumb is to never use `attach`,
so let's avoid it for now.
> Lastly, I have several GLM's I wanted to conduct. Please see the following:
>
> #model1<-glm(cbind(avoid, noavoid)~treatment,data=,family=binomial)
>
> #model2=glm(cbind(avoid, noavoid)~feeding, familiy=binomial)
>
> #model3=glm(cbind(avoid, noavoid)~treatment+feeding, familiy=binomial)
`cbind`-ing doesn't make much sense here. What is your target (y)
variable here? are you trying to predict `avoid` or `noavoid` status?
Let's assume you were "predicting" `noavoid` from just `treatment` and
`feeding` (I guess you have more data (rows) than you show), you would
build a model like so:
R> model <- glm(noavoid ~ treatment + feeding, binomial, avoid)
Or to be explicit about the parameters:
R> model <- glm(noavoid ~ treatment + feeding, family=binomial, data=avoid)
> It would be greatly appreciated if somebody can help me with my coding, as you can see I am a novice but doing my best to learn. I figured if I can get model1 to run, I should be able to figure out the rest of my models.
Since you're just getting started, maybe it would be helpful for
people writing documentation/tutorials/whatever what needs to be
explained better.
For instance, I'm curious why you thought to `cbind` in your first glm
call, which was:
model1<-glm(cbind(avoid, noavoid)~treatment,data=,family=binomial)
What did you think `cbind`-ing was accomplishing for you? Is there an
example somewhere that's doing that as the first parameter to a `glm`
call?
Also, why just have `data=<nothing>`?
I'm not criticizing, just trying to better understand.
-steve
--
Steve Lianoglou
Graduate Student: Computational Systems Biology
| Memorial Sloan-Kettering Cancer Center
| Weill Medical College of Cornell University
Contact Info: http://cbio.mskcc.org/~lianos/contact
More information about the R-help
mailing list