data structure with coefficients, and call from lm()

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

data structure with coefficients, and call from lm()

John Sorkin
Widows XP
R 2.3.1

I have been trying to make a data structure that will contain both the coefficients from a linear regression along with column and row titles AND the call, i.e.
myreg<-lm(y~x+y+z)
whatIwant<-cbind(c(summary(myreg)$call,"",""),summary(myreg)$coefficients)

Neither the statement above, nor any one of twenty variations I have tried work. I would appreciate any advice.
Thanks,
John




John Sorkin M.D., Ph.D.
Chief, Biostatistics and Informatics
University of Maryland School of Medicine Division of Gerontology
Baltimore VA Medical Center
10 North Greene Street
GRECC (BT/18/GR)
Baltimore, MD 21201-1524
(Phone) 410-605-7119
(Fax) 410-605-7913 (Please call phone number above prior to faxing)

Confidentiality Statement:
This email message, including any attachments, is for the so...{{dropped}}

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: data structure with coefficients, and call from lm()

jholtman
try using a 'list':

whatIwant<-list(call=summary(myreg)$call, coef=summary(myreg)$coefficients)

On 9/30/07, John Sorkin <[hidden email]> wrote:

> Widows XP
> R 2.3.1
>
> I have been trying to make a data structure that will contain both the coefficients from a linear regression along with column and row titles AND the call, i.e.
> myreg<-lm(y~x+y+z)
> whatIwant<-cbind(c(summary(myreg)$call,"",""),summary(myreg)$coefficients)
>
> Neither the statement above, nor any one of twenty variations I have tried work. I would appreciate any advice.
> Thanks,
> John
>
>
>
>
> John Sorkin M.D., Ph.D.
> Chief, Biostatistics and Informatics
> University of Maryland School of Medicine Division of Gerontology
> Baltimore VA Medical Center
> 10 North Greene Street
> GRECC (BT/18/GR)
> Baltimore, MD 21201-1524
> (Phone) 410-605-7119
> (Fax) 410-605-7913 (Please call phone number above prior to faxing)
>
> Confidentiality Statement:
> This email message, including any attachments, is for the so...{{dropped}}
>
> ______________________________________________
> [hidden email] 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.
>


--
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem you are trying to solve?

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: data structure with coefficients, and call from lm()

John Sorkin
In reply to this post by John Sorkin
Jim,
Again thank you for your quick reply. Your suggestion does not give me exactly what I want:

> whatIwant<-list(,summary(fitdelete)$call,summary(fitdelete)$coefficients)
> whatIwant
[[1]]
lm(formula = y ~ x)

[[2]]
            Estimate Std. Error   t value     Pr(>|t|)
(Intercept) 4.927791 2.62115494  1.880007 6.307727e-02
x           1.887634 0.04372724 43.168382 1.410167e-65

What I want is something that looks more like a table:

            lm(formula = y ~ x) Estimate Std. Error   t value     Pr(>|t|)
(Intercept)                     4.927791 2.62115494  1.880007 6.307727e-02
x                               1.887634 0.04372724 43.168382 1.410167e-65

Thanks,
John



John Sorkin M.D., Ph.D.
Chief, Biostatistics and Informatics
University of Maryland School of Medicine Division of Gerontology
Baltimore VA Medical Center
10 North Greene Street
GRECC (BT/18/GR)
Baltimore, MD 21201-1524
(Phone) 410-605-7119
(Fax) 410-605-7913 (Please call phone number above prior to faxing)

>>> "jim holtman" <[hidden email]> 9/30/2007 11:00 PM >>>
try using a 'list':

whatIwant<-list(call=summary(myreg)$call, coef=summary(myreg)$coefficients)

On 9/30/07, John Sorkin <[hidden email]> wrote:

> Widows XP
> R 2.3.1
>
> I have been trying to make a data structure that will contain both the coefficients from a linear regression along with column and row titles AND the call, i.e.
> myreg<-lm(y~x+y+z)
> whatIwant<-cbind(c(summary(myreg)$call,"",""),summary(myreg)$coefficients)
>
> Neither the statement above, nor any one of twenty variations I have tried work. I would appreciate any advice.
> Thanks,
> John
>
>
>
>
> John Sorkin M.D., Ph.D.
> Chief, Biostatistics and Informatics
> University of Maryland School of Medicine Division of Gerontology
> Baltimore VA Medical Center
> 10 North Greene Street
> GRECC (BT/18/GR)
> Baltimore, MD 21201-1524
> (Phone) 410-605-7119
> (Fax) 410-605-7913 (Please call phone number above prior to faxing)
>
> Confidentiality Statement:
> This email message, including any attachments, is for the ...{{dropped}}

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: data structure with coefficients, and call from lm()

John Sorkin
In reply to this post by John Sorkin
Thank you Moshe,
I understand you point, but I would hope that I could use summary to save my self some work. I need to do what I described in my original Email to the list server on tens of regressions.
John


John

John Sorkin M.D., Ph.D.
Chief, Biostatistics and Informatics
University of Maryland School of Medicine Division of Gerontology
Baltimore VA Medical Center
10 North Greene Street
GRECC (BT/18/GR)
Baltimore, MD 21201-1524
(Phone) 410-605-7119
(Fax) 410-605-7913 (Please call phone number above prior to faxing)

>>> Moshe Olshansky <[hidden email]> 9/30/2007 11:04 PM >>>
Hello,

First of all, do not use "summary" - it is a function
which acts on myreg and does whatever it does, i.e.
prints a summary.
Examine the myreg object (myreg, names(myreg), etc.).
The you may examine the contents of individual data
members of myreg.
You can also try to print summary(myreg) to a file
(using sink - see ?sink) and then read this file and
extract whatever you need from it.

Regards,

Moshe.

--- John Sorkin <[hidden email]> wrote:

> Widows XP
> R 2.3.1
>
> I have been trying to make a data structure that
> will contain both the coefficients from a linear
> regression along with column and row titles AND the
> call, i.e.
> myreg<-lm(y~x+y+z)
>
whatIwant<-cbind(c(summary(myreg)$call,"",""),summary(myreg)$coefficients)

>
> Neither the statement above, nor any one of twenty
> variations I have tried work. I would appreciate any
> advice.
> Thanks,
> John
>
>
>
>
> John Sorkin M.D., Ph.D.
> Chief, Biostatistics and Informatics
> University of Maryland School of Medicine Division
> of Gerontology
> Baltimore VA Medical Center
> 10 North Greene Street
> GRECC (BT/18/GR)
> Baltimore, MD 21201-1524
> (Phone) 410-605-7119
> (Fax) 410-605-7913 (Please call phone number above
> prior to faxing)
>
> Confidentiality Statement:
> This email message, including any attachments, is\ > for t...{{dropped}}

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: data structure with coefficients, and call from lm()

John Sorkin
In reply to this post by jholtman
Jim,
You are indeed trying to help, again my thanks.
What I want to do is make a single structure - a table is an apt description that will summarize all the regressions, something like:

                                 Estimate Std. Error   t value     Pr(>|t|)
 (Intercept) lm(formula = y ~ x) 4.927791 2.62115494  1.880007 6.307727e-02
 x                               1.887634 0.04372724 43.168382 1.410167e-65
 (Intercept) lm(formula = z ~ x) 6.927791 2.62115494  1.880007 6.307727e-02
 x                               1.887634 0.04372724 43.168382 1.410167e-65
 (Intercept) lm(formula = z~x+z) 6.927791 2.62115494  1.880007 6.307727e-02
 x                               1.887634 0.04372724 43.168382 1.410167e-65
 z                               1.887634 0.04372724 43.168382 1.410167e-65

If you use a non-proportional spaced font (e.g. Courier on a windows system)
the material above is a single "table" that contains all the data from my numerous regressions, including the call and the coefficients.(If I can get
this to work I will add the R squared values) n.b. In the example above I have
copied the estimates and changed the label of the lines just to demonstrate the
kind of output I desire. Of course when used on real data each line will have
different values.
Again thanks,
John


John Sorkin M.D., Ph.D.
Chief, Biostatistics and Informatics
University of Maryland School of Medicine Division of Gerontology
Baltimore VA Medical Center
10 North Greene Street
GRECC (BT/18/GR)
Baltimore, MD 21201-1524
(Phone) 410-605-7119
(Fax) 410-605-7913 (Please call phone number above prior to faxing)

>>> "jim holtman" <[hidden email]> 9/30/2007 11:24 PM >>>
The easiest thing is to same the result from 'lm' and then you can use
that to extract any of the information that you want.  If you are
going to do thousands of regressions, then you can make a list of 'lm'
results, or if that is too memory intensive (depends on the size of
the regressions), you could same them to a file with 'save'.  It all
depends on what you want to do with them.  One of my favorite
questions is "tell me what you want to do, not how you want to do it".
 What is the intended purpose?

On 9/30/07, John Sorkin <[hidden email]> wrote:

> Jim,
> Again thank you for your quick reply. Your suggestion does not give me exactly what I want:
>
> > whatIwant<-list(,summary(fitdelete)$call,summary(fitdelete)$coefficients)
> > whatIwant
> [[1]]
> lm(formula = y ~ x)
>
> [[2]]
>            Estimate Std. Error   t value     Pr(>|t|)
> (Intercept) 4.927791 2.62115494  1.880007 6.307727e-02
> x           1.887634 0.04372724 43.168382 1.410167e-65
>
> What I want is something that looks more like a table:
>
>            lm(formula = y ~ x) Estimate Std. Error   t value     Pr(>|t|)
> (Intercept)                     4.927791 2.62115494  1.880007 6.307727e-02
> x                               1.887634 0.04372724 43.168382 1.410167e-65
>
> Thanks,
> John
>
>
>
> John Sorkin M.D., Ph.D.
> Chief, Biostatistics and Informatics
> University of Maryland School of Medicine Division of Gerontology
> Baltimore VA Medical Center
> 10 North Greene Street
> GRECC (BT/18/GR)
> Baltimore, MD 21201-1524
> (Phone) 410-605-7119
> (Fax) 410-605-7913 (Please call phone number above prior to faxing)
>
> >>> "jim holtman" <[hidden email]> 9/30/2007 11:00 PM >>>
> try using a 'list':
>
> whatIwant<-list(call=summary(myreg)$call, coef=summary(myreg)$coefficients)
>
> On 9/30/07, John Sorkin <[hidden email]> wrote:
> > Widows XP
> > R 2.3.1
> >
> > I have been trying to make a data structure that will contain both the coefficients from a linear regression along with column and row titles AND the call, i.e.
> > myreg<-lm(y~x+y+z)
> > whatIwant<-cbind(c(summary(myreg)$call,"",""),summary(myreg)$coefficients)
> >
> > Neither the statement above, nor any one of twenty variations I have tried work. I would appreciate any advice.
> > Thanks,
> > John
> >
> >
> >
> >
> > John Sorkin M.D., Ph.D.
> > Chief, Biostatistics and Informatics
> > University of Maryland School of Medicine Division of Gerontology
> > Baltimore VA Medical Center
> > 10 North Greene Street
> > GRECC (BT/18/GR)
> > Baltimore, MD 21201-1524
> > (Phone) 410-605-7119
> > (Fax) 410-605-7913 (Please call phone number above prior to faxing)
> >
> > Confidentiality Statement:
> > This email message, including any attachments, is for the so...{{dropped}}
> >
> > ______________________________________________
> > [hidden email] 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.
> >
>
>
> --
> Jim Holtman
> Cincinnati, OH
> +1 513 646 9390
>
> What is the problem you are trying to solve?
>
> Confidentiality Statement:
> This email message, including any attachments, is for the ...{{dropped}}

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: data structure with coefficients, and call from lm()

jholtman
This is close to what you want.  I created the list by hand, but you
can create it in your processing loop.  Once you have the list
created, you can create your own print routine.

> x <- runif(100)
> z <- runif(100)
> y <- runif(100)
>
>
> # I am doing this by hand, but you could easily automate it in a loop or function call
> whatIwant <- list()  # where results are stored
>
> lm.x <- lm(y~x)
> whatIwant[[1]] <- list(summary(lm.x)$call, summary(lm.x)$coefficients)
>
> lm.z <- lm(y~z)
> whatIwant[[2]] <- list(summary(lm.z)$call, summary(lm.z)$coefficients)
>
> lm.xz <- lm(y~x+z)
> whatIwant[[3]] <- list(summary(lm.xz)$call, summary(lm.xz)$coefficients)
>
> # this is close
> whatIwant
[[1]]
[[1]][[1]]
lm(formula = y ~ x)

[[1]][[2]]
              Estimate Std. Error   t value     Pr(>|t|)
(Intercept) 0.46211645 0.05442237 8.4912958 2.244835e-13
x           0.02387787 0.09709648 0.2459190 8.062592e-01


[[2]]
[[2]][[1]]
lm(formula = y ~ z)

[[2]][[2]]
               Estimate Std. Error    t value     Pr(>|t|)
(Intercept)  0.49612568 0.05390759  9.2032627 6.488440e-15
z           -0.04600174 0.09298692 -0.4947119 6.219108e-01


[[3]]
[[3]][[1]]
lm(formula = y ~ x + z)

[[3]][[2]]
               Estimate Std. Error    t value     Pr(>|t|)
(Intercept)  0.48617771 0.07502099  6.4805555 3.804443e-09
x            0.01880206 0.09808697  0.1916877 8.483876e-01
z           -0.04400913 0.09402369 -0.4680643 6.407886e-01


>
> #now create a function to print your list
> printMyList <-
+ function(myList){
+     lapply(myList, function(.ele){
+         print(.ele[[1]])
+         print(.ele[[2]])
+     })
+     invisible(NULL)
+ }
>
> printMyList(whatIwant)
lm(formula = y ~ x)
              Estimate Std. Error   t value     Pr(>|t|)
(Intercept) 0.46211645 0.05442237 8.4912958 2.244835e-13
x           0.02387787 0.09709648 0.2459190 8.062592e-01
lm(formula = y ~ z)
               Estimate Std. Error    t value     Pr(>|t|)
(Intercept)  0.49612568 0.05390759  9.2032627 6.488440e-15
z           -0.04600174 0.09298692 -0.4947119 6.219108e-01
lm(formula = y ~ x + z)
               Estimate Std. Error    t value     Pr(>|t|)
(Intercept)  0.48617771 0.07502099  6.4805555 3.804443e-09
x            0.01880206 0.09808697  0.1916877 8.483876e-01
z           -0.04400913 0.09402369 -0.4680643 6.407886e-01
>
>


On 9/30/07, John Sorkin <[hidden email]> wrote:

> Jim,
> You are indeed trying to help, again my thanks.
> What I want to do is make a single structure - a table is an apt description that will summarize all the regressions, something like:
>
>                                 Estimate Std. Error   t value     Pr(>|t|)
>  (Intercept) lm(formula = y ~ x) 4.927791 2.62115494  1.880007 6.307727e-02
>  x                               1.887634 0.04372724 43.168382 1.410167e-65
>  (Intercept) lm(formula = z ~ x) 6.927791 2.62115494  1.880007 6.307727e-02
>  x                               1.887634 0.04372724 43.168382 1.410167e-65
>  (Intercept) lm(formula = z~x+z) 6.927791 2.62115494  1.880007 6.307727e-02
>  x                               1.887634 0.04372724 43.168382 1.410167e-65
>  z                               1.887634 0.04372724 43.168382 1.410167e-65
>
> If you use a non-proportional spaced font (e.g. Courier on a windows system)
> the material above is a single "table" that contains all the data from my numerous regressions, including the call and the coefficients.(If I can get
> this to work I will add the R squared values) n.b. In the example above I have
> copied the estimates and changed the label of the lines just to demonstrate the
> kind of output I desire. Of course when used on real data each line will have
> different values.
> Again thanks,
> John
>
>
> John Sorkin M.D., Ph.D.
> Chief, Biostatistics and Informatics
> University of Maryland School of Medicine Division of Gerontology
> Baltimore VA Medical Center
> 10 North Greene Street
> GRECC (BT/18/GR)
> Baltimore, MD 21201-1524
> (Phone) 410-605-7119
> (Fax) 410-605-7913 (Please call phone number above prior to faxing)
>
> >>> "jim holtman" <[hidden email]> 9/30/2007 11:24 PM >>>
> The easiest thing is to same the result from 'lm' and then you can use
> that to extract any of the information that you want.  If you are
> going to do thousands of regressions, then you can make a list of 'lm'
> results, or if that is too memory intensive (depends on the size of
> the regressions), you could same them to a file with 'save'.  It all
> depends on what you want to do with them.  One of my favorite
> questions is "tell me what you want to do, not how you want to do it".
>  What is the intended purpose?
>
> On 9/30/07, John Sorkin <[hidden email]> wrote:
> > Jim,
> > Again thank you for your quick reply. Your suggestion does not give me exactly what I want:
> >
> > > whatIwant<-list(,summary(fitdelete)$call,summary(fitdelete)$coefficients)
> > > whatIwant
> > [[1]]
> > lm(formula = y ~ x)
> >
> > [[2]]
> >            Estimate Std. Error   t value     Pr(>|t|)
> > (Intercept) 4.927791 2.62115494  1.880007 6.307727e-02
> > x           1.887634 0.04372724 43.168382 1.410167e-65
> >
> > What I want is something that looks more like a table:
> >
> >            lm(formula = y ~ x) Estimate Std. Error   t value     Pr(>|t|)
> > (Intercept)                     4.927791 2.62115494  1.880007 6.307727e-02
> > x                               1.887634 0.04372724 43.168382 1.410167e-65
> >
> > Thanks,
> > John
> >
> >
> >
> > John Sorkin M.D., Ph.D.
> > Chief, Biostatistics and Informatics
> > University of Maryland School of Medicine Division of Gerontology
> > Baltimore VA Medical Center
> > 10 North Greene Street
> > GRECC (BT/18/GR)
> > Baltimore, MD 21201-1524
> > (Phone) 410-605-7119
> > (Fax) 410-605-7913 (Please call phone number above prior to faxing)
> >
> > >>> "jim holtman" <[hidden email]> 9/30/2007 11:00 PM >>>
> > try using a 'list':
> >
> > whatIwant<-list(call=summary(myreg)$call, coef=summary(myreg)$coefficients)
> >
> > On 9/30/07, John Sorkin <[hidden email]> wrote:
> > > Widows XP
> > > R 2.3.1
> > >
> > > I have been trying to make a data structure that will contain both the coefficients from a linear regression along with column and row titles AND the call, i.e.
> > > myreg<-lm(y~x+y+z)
> > > whatIwant<-cbind(c(summary(myreg)$call,"",""),summary(myreg)$coefficients)
> > >
> > > Neither the statement above, nor any one of twenty variations I have tried work. I would appreciate any advice.
> > > Thanks,
> > > John
> > >
> > >
> > >
> > >
> > > John Sorkin M.D., Ph.D.
> > > Chief, Biostatistics and Informatics
> > > University of Maryland School of Medicine Division of Gerontology
> > > Baltimore VA Medical Center
> > > 10 North Greene Street
> > > GRECC (BT/18/GR)
> > > Baltimore, MD 21201-1524
> > > (Phone) 410-605-7119
> > > (Fax) 410-605-7913 (Please call phone number above prior to faxing)
> > >
> > > Confidentiality Statement:
> > > This email message, including any attachments, is for the so...{{dropped}}
> > >
> > > ______________________________________________
> > > [hidden email] 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.
> > >
> >
> >
> > --
> > Jim Holtman
> > Cincinnati, OH
> > +1 513 646 9390
> >
> > What is the problem you are trying to solve?
> >
> > Confidentiality Statement:
> > This email message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information.  Any unauthorized use, disclosure or distribution is prohibited.  If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message.
> >
>
>
> --
> Jim Holtman
> Cincinnati, OH
> +1 513 646 9390
>
> What is the problem you are trying to solve?
>
> Confidentiality Statement:
> This email message, including any attachments, is for the ...{{dropped}}

______________________________________________
[hidden email] 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.
Reply | Threaded
Open this post in threaded view
|

Re: data structure with coefficients, and call from lm()

P Ehlers
John,

Jim has shown how to accomplish what you want.
Here's a slight variation (for a single model):

y <- rnorm(20)
x <- runif(20)
z <- runif(20)

fm <- lm(y ~ x + z)
m <- cbind(NA, coef(summary(fm)))
colnames(m)[1] <- deparse(formula(fm))
print(m, na.print = "")

  - Peter Ehlers

jim holtman wrote:

> This is close to what you want.  I created the list by hand, but you
> can create it in your processing loop.  Once you have the list
> created, you can create your own print routine.
>
>> x <- runif(100)
>> z <- runif(100)
>> y <- runif(100)
>>
>>
>> # I am doing this by hand, but you could easily automate it in a loop or function call
>> whatIwant <- list()  # where results are stored
>>
>> lm.x <- lm(y~x)
>> whatIwant[[1]] <- list(summary(lm.x)$call, summary(lm.x)$coefficients)
>>
>> lm.z <- lm(y~z)
>> whatIwant[[2]] <- list(summary(lm.z)$call, summary(lm.z)$coefficients)
>>
>> lm.xz <- lm(y~x+z)
>> whatIwant[[3]] <- list(summary(lm.xz)$call, summary(lm.xz)$coefficients)
>>
>> # this is close
>> whatIwant
> [[1]]
> [[1]][[1]]
> lm(formula = y ~ x)
>
> [[1]][[2]]
>               Estimate Std. Error   t value     Pr(>|t|)
> (Intercept) 0.46211645 0.05442237 8.4912958 2.244835e-13
> x           0.02387787 0.09709648 0.2459190 8.062592e-01
>
>
> [[2]]
> [[2]][[1]]
> lm(formula = y ~ z)
>
> [[2]][[2]]
>                Estimate Std. Error    t value     Pr(>|t|)
> (Intercept)  0.49612568 0.05390759  9.2032627 6.488440e-15
> z           -0.04600174 0.09298692 -0.4947119 6.219108e-01
>
>
> [[3]]
> [[3]][[1]]
> lm(formula = y ~ x + z)
>
> [[3]][[2]]
>                Estimate Std. Error    t value     Pr(>|t|)
> (Intercept)  0.48617771 0.07502099  6.4805555 3.804443e-09
> x            0.01880206 0.09808697  0.1916877 8.483876e-01
> z           -0.04400913 0.09402369 -0.4680643 6.407886e-01
>
>
>> #now create a function to print your list
>> printMyList <-
> + function(myList){
> +     lapply(myList, function(.ele){
> +         print(.ele[[1]])
> +         print(.ele[[2]])
> +     })
> +     invisible(NULL)
> + }
>> printMyList(whatIwant)
> lm(formula = y ~ x)
>               Estimate Std. Error   t value     Pr(>|t|)
> (Intercept) 0.46211645 0.05442237 8.4912958 2.244835e-13
> x           0.02387787 0.09709648 0.2459190 8.062592e-01
> lm(formula = y ~ z)
>                Estimate Std. Error    t value     Pr(>|t|)
> (Intercept)  0.49612568 0.05390759  9.2032627 6.488440e-15
> z           -0.04600174 0.09298692 -0.4947119 6.219108e-01
> lm(formula = y ~ x + z)
>                Estimate Std. Error    t value     Pr(>|t|)
> (Intercept)  0.48617771 0.07502099  6.4805555 3.804443e-09
> x            0.01880206 0.09808697  0.1916877 8.483876e-01
> z           -0.04400913 0.09402369 -0.4680643 6.407886e-01
>>
>
>
> On 9/30/07, John Sorkin <[hidden email]> wrote:
>> Jim,
>> You are indeed trying to help, again my thanks.
>> What I want to do is make a single structure - a table is an apt description that will summarize all the regressions, something like:
>>
>>                                 Estimate Std. Error   t value     Pr(>|t|)
>>  (Intercept) lm(formula = y ~ x) 4.927791 2.62115494  1.880007 6.307727e-02
>>  x                               1.887634 0.04372724 43.168382 1.410167e-65
>>  (Intercept) lm(formula = z ~ x) 6.927791 2.62115494  1.880007 6.307727e-02
>>  x                               1.887634 0.04372724 43.168382 1.410167e-65
>>  (Intercept) lm(formula = z~x+z) 6.927791 2.62115494  1.880007 6.307727e-02
>>  x                               1.887634 0.04372724 43.168382 1.410167e-65
>>  z                               1.887634 0.04372724 43.168382 1.410167e-65
>>
>> If you use a non-proportional spaced font (e.g. Courier on a windows system)
>> the material above is a single "table" that contains all the data from my numerous regressions, including the call and the coefficients.(If I can get
>> this to work I will add the R squared values) n.b. In the example above I have
>> copied the estimates and changed the label of the lines just to demonstrate the
>> kind of output I desire. Of course when used on real data each line will have
>> different values.
>> Again thanks,
>> John
>>
>>
>> John Sorkin M.D., Ph.D.
>> Chief, Biostatistics and Informatics
>> University of Maryland School of Medicine Division of Gerontology
>> Baltimore VA Medical Center
>> 10 North Greene Street
>> GRECC (BT/18/GR)
>> Baltimore, MD 21201-1524
>> (Phone) 410-605-7119
>> (Fax) 410-605-7913 (Please call phone number above prior to faxing)
>>
>>>>> "jim holtman" <[hidden email]> 9/30/2007 11:24 PM >>>
>> The easiest thing is to same the result from 'lm' and then you can use
>> that to extract any of the information that you want.  If you are
>> going to do thousands of regressions, then you can make a list of 'lm'
>> results, or if that is too memory intensive (depends on the size of
>> the regressions), you could same them to a file with 'save'.  It all
>> depends on what you want to do with them.  One of my favorite
>> questions is "tell me what you want to do, not how you want to do it".
>>  What is the intended purpose?
>>
>> On 9/30/07, John Sorkin <[hidden email]> wrote:
>>> Jim,
>>> Again thank you for your quick reply. Your suggestion does not give me exactly what I want:
>>>
>>>> whatIwant<-list(,summary(fitdelete)$call,summary(fitdelete)$coefficients)
>>>> whatIwant
>>> [[1]]
>>> lm(formula = y ~ x)
>>>
>>> [[2]]
>>>            Estimate Std. Error   t value     Pr(>|t|)
>>> (Intercept) 4.927791 2.62115494  1.880007 6.307727e-02
>>> x           1.887634 0.04372724 43.168382 1.410167e-65
>>>
>>> What I want is something that looks more like a table:
>>>
>>>            lm(formula = y ~ x) Estimate Std. Error   t value     Pr(>|t|)
>>> (Intercept)                     4.927791 2.62115494  1.880007 6.307727e-02
>>> x                               1.887634 0.04372724 43.168382 1.410167e-65
>>>
>>> Thanks,
>>> John
>>>
>>>
>>>
>>> John Sorkin M.D., Ph.D.
>>> Chief, Biostatistics and Informatics
>>> University of Maryland School of Medicine Division of Gerontology
>>> Baltimore VA Medical Center
>>> 10 North Greene Street
>>> GRECC (BT/18/GR)
>>> Baltimore, MD 21201-1524
>>> (Phone) 410-605-7119
>>> (Fax) 410-605-7913 (Please call phone number above prior to faxing)
>>>
>>>>>> "jim holtman" <[hidden email]> 9/30/2007 11:00 PM >>>
>>> try using a 'list':
>>>
>>> whatIwant<-list(call=summary(myreg)$call, coef=summary(myreg)$coefficients)
>>>
>>> On 9/30/07, John Sorkin <[hidden email]> wrote:
>>>> Widows XP
>>>> R 2.3.1
>>>>
>>>> I have been trying to make a data structure that will contain both the coefficients from a linear regression along with column and row titles AND the call, i.e.
>>>> myreg<-lm(y~x+y+z)
>>>> whatIwant<-cbind(c(summary(myreg)$call,"",""),summary(myreg)$coefficients)
>>>>
>>>> Neither the statement above, nor any one of twenty variations I have tried work. I would appreciate any advice.
>>>> Thanks,
>>>> John
>>>>
>>>>
>>>>
>>>>
>>>> John Sorkin M.D., Ph.D.
>>>> Chief, Biostatistics and Informatics
>>>> University of Maryland School of Medicine Division of Gerontology
>>>> Baltimore VA Medical Center
>>>> 10 North Greene Street
>>>> GRECC (BT/18/GR)
>>>> Baltimore, MD 21201-1524
>>>> (Phone) 410-605-7119
>>>> (Fax) 410-605-7913 (Please call phone number above prior to faxing)
>>>>
>>>> Confidentiality Statement:
>>>> This email message, including any attachments, is for the so...{{dropped}}
>>>>
>>>> ______________________________________________
>>>> [hidden email] 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.
>>>>
>>>
>>> --
>>> Jim Holtman
>>> Cincinnati, OH
>>> +1 513 646 9390
>>>
>>> What is the problem you are trying to solve?
>>>
>>> Confidentiality Statement:
>>> This email message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information.  Any unauthorized use, disclosure or distribution is prohibited.  If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message.
>>>
>>
>> --
>> Jim Holtman
>> Cincinnati, OH
>> +1 513 646 9390
>>
>> What is the problem you are trying to solve?
>>
>> Confidentiality Statement:
>> This email message, including any attachments, is for the ...{{dropped}}
>
> ______________________________________________
> [hidden email] 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.
>
>

--
Peter Ehlers
Director, StatCaR (Statistical Consulting and Research)
Department of Mathematics and Statistics
University of Calgary, 2500 University Dr. NW       ph: 403-220-3936
Calgary, Alberta  T2N 1N4, CANADA                  fax: 403-282-5150
email: [hidden email]

______________________________________________
[hidden email] 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.