[R] r2 question

Ronggui Huang ronggui.huang at gmail.com
Sun Jul 26 01:59:55 CEST 2009


summary(lm1) will show you R2 and adjusted R2 too.

Ronggui

2009/7/26 Steve Lianoglou <mailinglist.honeypot at gmail.com>:
> Hi Sarah,
>
> On Jul 25, 2009, at 8:25 AM, Buckmaster, Sarah wrote:
>
>> Hi everyone,
>>
>> I have a question about calculating r-squared in R. I have tried searching
>> the archives and couldn't find what I was looking for - but apologies if
>> there is somewhere I can find this...
>>
>> I carried out a droughting experiment to test plant competition under
>> limited water. I had:
>> - 7 different levels of watering treatment (1 -7 - from most watered to
>> least watered/)
>> - 15 replicates at each level.
>>
>> Soil moisture readings were taken 4 times throughout the experiment (so I
>> have 105 readings for each of the 4 times) and I now want to check that
>> there was a significant decrease in soil moisture as I decreased the
>> watering frequency, i.e. watering level 7 showed lower soil moisture units
>> than level 1.
>>
>> I have carried out a repeated measures anova as follows (where block is
>> which time the reading was taken: 1,2,3 or 4):
>> model1<-aov(soilmoisture~wateringlevel+Error(block/wateringlevel))
>>
>> I then plotted (soilmoisture~wateringlevel) and fitted a regression line:
>> lm1<-lm(soilmoisture~wateringlevel)
>> abline(lm1,lty=1)
>>
>>
>> Here are my questions:
>>
>> 1) Is the repeated measures anova I have entered correct to tell me if
>> there is a significant difference in my watering levels?
>
> It seems like using anova here is reasonable -- I haven't used it in R,
> though, so I can't comment on your *actual* use of it (looks right -- can't
> u also just call aov on your lm1 object, too?)
>
>> 2) How do I calculate r2 value to show much variation my watering
>> level explains? - and then put this figure on my plot?
>
> I think this should be pretty straight forward -- you can find the formula
> here:
>
> http://en.wikipedia.org/wiki/Fraction_of_variance_unexplained
>
> and R^2 = SSR / SST (on that page)
>
> Using the formulas on that page, translating to R is pretty straight
> forward. Let's take the example code at the bottom of ?lm help page for
> reference and calculate the R^2:
>
> ssr <-  sum((predict(lm.D9, group) - weight)^2)
> sst <- sum((weight - mean(weight))^2)
> r2 <- ssr / sst
>
> HTH,
> -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
>
> ______________________________________________
> 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.
>



-- 
HUANG Ronggui, Wincent
PhD Candidate
Dept of Public and Social Administration
City University of Hong Kong
Home page: http://asrr.r-forge.r-project.org/rghuang.html




More information about the R-help mailing list