[R] printing all htest class members
David Winsemius
dwinsemius at comcast.net
Thu Dec 15 20:04:29 CET 2011
On Dec 15, 2011, at 12:26 PM, Rui Barradas wrote:
> Hello,
>
> I've posted a question about this subject yesterday, but since there
> was no
> R code to comment,
> no one did.
>
> I'm trying to have the print method for class 'htest' print some extra
> information common in some test, like the time series linearity
> related
> tests. Many of them have an 'order' parameter, representing a lag or
> embedding dimension, and it would be a nice feature to pass a vector
> of
> orders and have all corresponding tests run.
>
> It's easy to do this, but the print method doesn't print those extra
> values.
> Here the code goes:
>
> #Some values from the McLeod-Li test, with x <- rnorm(100)
> res <- data.frame(ord=2:4, df=ord, Q=c(0.0129, 0.049, 0.0684),
> p=c(0.9936, 0.9972, 0.9994))
> attach(res)
> nr <- nrow(res)
>
My problem reading this is that you are using the attach function
which generally confuses discussions and then you are not actually
creating any object with a class of htest. Print methods are
dispatched by class value.
> # print.htest prints everything but 'all.orders'
> # but when it's named 'null.value' it works and it's easier to make
> # it work, all what's needed is 'null.value=res', whithout the need
> # for a second 'structure()'
You seem to be transcribing a conversation inside your head. Most of
the four lines above has no connection to what you typed earlier.
> structure(
This does nothing. No object is created.
> list(statistic=c(Q=Q[1]),
> p.value=p[1],
> parameter=c(df=df[1]),
> alternative="It doesn't print 'all.orders' and I find 'null.value'
> misleading",
> method="Test the 'print.htest' method using McLeod-Li test values.",
> data.name=deparse(substitute(x)),
> all.orders=structure(
> list(order=ord, df=df, Q=Q, p.value=p),
> .Names=c("order", "df", "Q", "p.value"),
> row.names=c(NA,-nr),
> class="data.frame"
> )
> ),
> .Names=c("statistic","p.value","parameter","alternative",
> "method","data.name","all.orders"),
> class="htest"
> )
>
> Is there a way to have 'all.orders' printed by 'print.htest' ?
> The problem is NOT the return values, at least the time wasn't wasted,
> I can use them for whatever I'll do next.
>
> If not, anyone has any suggestions?
Yes. Give the code you are actually using!
>
--
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list