s-news
[Top] [All Lists]

multiple r squared in lm

To: <s-news@lists.biostat.wustl.edu>
Subject: multiple r squared in lm
From: "Puschner, Bernd" <Bernd.Puschner@bkh-guenzburg.de>
Date: Tue, 11 Mar 2008 11:45:30 +0100
 

>-----Ursprüngliche Nachricht-----
>Von: s-news-owner@lists.biostat.wustl.edu 
>[mailto:s-news-owner@lists.biostat.wustl.edu] Im Auftrag von 
>Bill Dunlap
>Gesendet: Donnerstag, 6. März 2008 18:35
>An: Michael Slattery
>Cc: s-news@lists.biostat.wustl.edu
>Betreff: Re: [S] tapply question
>
>On Thu, 6 Mar 2008, Michael Slattery wrote:
>
>> My dataframe structure is this:
>>
>> index          R1                         R2......................R40
>>
>> A                NA                         345.6
>> C               non-detect               non-detect
>> B                1.03                       NA
>> B                1.55                       NA
>> A               NA                          234.5
>> C               non-detect               NA
>> .
>> .
>> .
>>
>> What I need are simultaneous counts of 1) NA's and 2) 
>non-detect's for 
>> each column Rx, for each index (n=3), across some 40 columns 
>and some 
>> 150K records. My idea is to cbind the results of this query into a 
>> dataframe for analysis. I just can't seem to get the correct syntax.
>
>For one column table() would work well.  You need a function 
>to convert the Rn columns to a factors with levels "normal" 
>and "non-detect", and "missing".  I don't know what type those 
>columns are now, is the 'non-detect' in the printout a standin 
>for a numeric code like -99?
>E.g.,
>    > dataframe<-data.frame(index=c("A","C","B","B","A","C"), 
>R1=c(NA,-99,1.03,1.55,NA,-99))
>    > dataframe
>      index     R1
>    1     A     NA
>    2     C -99.00
>    3     B   1.03
>    4     B   1.55
>    5     A     NA
>    6     C -99.00
>and your Rn to factor function would be
>   > f <- 
>function(Rcol)factor(ifelse(is.na(Rcol),"missing",ifelse(Rcol==
-99,"non-detect","normal")),
>              levels=c("non-detect","normal","missing"))
>
>The table for one column would be
>   > with(dataframe, table(index, f(R1)))
>      non-detect normal missing
>    A          0      0       2
>    B          0      2       0
>    C          2      0       0
>You could instead make a one dimensional table by using interaction()
>   > with(dataframe, table(interaction(index, f(R1))))
>    A.non-detect B.non-detect C.non-detect A.normal B.normal 
>C.normal A.missing
>               0            0            2        0        2   
>     0         2
>
>    B.missing C.missing
>            0         0
>
>You could loop over the Rn columns of data frame and collect 
>the results into the columns of an output data frame.
>
>You could also stack the Rn columns and do this all in one 
>call to table and then convert the table to a data.frame.
>
>tapply() can be useful when table() cannot do the job.
>
>---------------------------------------------------------------
>-------------
>Bill Dunlap
>Insightful Corporation
>bill at insightful dot com
>360-428-8146
>
>  "All statements in this message represent the opinions of 
>the author and do
>  not necessarily reflect Insightful Corporation policy or position."
>--------------------------------------------------------------------
>This message was distributed by 
>s-news@lists.biostat.wustl.edu.  To unsubscribe send e-mail to 
>s-news-request@lists.biostat.wustl.edu with the BODY of the 
>message:  unsubscribe s-news
>

<Prev in Thread] Current Thread [Next in Thread>
  • multiple r squared in lm, Puschner, Bernd <=