Message-ID: <D493DF8A-7570-4DA2-A4E7-958D4E81D9CC@comcast.net>
Date: 2011-11-15T13:11:33Z
From: David Winsemius
Subject: Remove names and more from list with capture.output()
In-Reply-To: <CACtaF7zCC7+os7aZLEtdJizPXwqD0wasESs6pvQtBzwdh3yqXw@mail.gmail.com>
On Nov 14, 2011, at 11:49 PM, Sverre Stausland wrote:
> Hi R users,
>
> I end up with a list object after running an anova:
>
>> lm(speed ~ 1 + dist + speed:dist, data = cars) -> Int
>> lm(speed ~ 1 + dist, data = cars) -> NoInt
>> anova(Int, NoInt) -> test
>> test <- test[c("Df", "F", "Pr(>F)")][2,]
>> is.list(test)
> [1] TRUE
>> test
> Df F Pr(>F)
> 2 -1 18.512 8.481e-05 ***
> ---
> Signif. codes: 0 ?***? 0.001 ?**? 0.01 ?*? 0.05 ?.? 0.1 ? ? 1
>
> I would like to use capture.output() when writing this information to
> a text file, but I would like to only print the row, not the names (Df
> F Pr(>F)), and not the significance codes. That is, I want the
> text printed to my text file to be:
>
> 2 -1 18.512 8.481e-05 ***
>
the output of capture.output is just going to be a character vector
and you should select the second element.
> vec <- capture.output(test)
> vec[2]
[1] "2 -1 18.512 8.481e-05 ***"
> Is there a way to do this?
>
> Thanks
> Sverre
>
> ______________________________________________
> 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.
David Winsemius, MD
West Hartford, CT