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 <[EMAIL PROTECTED]> 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" <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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" <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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}}
>>>>
>>>> ______________________________________________
>>>> R-help@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.
>>>>
>>>
>>> --
>>> 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}}
> 
> ______________________________________________
> R-help@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.
> 
> 

-- 
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: [EMAIL PROTECTED]

______________________________________________
R-help@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.

Reply via email to