On Wed, 24 Feb 2010, chipmaney wrote:

Recently, I ran a series of Kruskal-Wallace tests [kruskal.test()] using by()
to group by site  Output is a list:

Herb.KW
Herb.df$ID: 10-1

       Kruskal-Wallis rank sum test

data:  Indicator_Rating by Year
Kruskal-Wallis chi-squared = 15.24, df = 7, p-value = 0.03302

-----------------------------------------------------------------------------------------------------
Herb.df$ID: 18-1

       Kruskal-Wallis rank sum test

data:  Indicator_Rating by Year
Kruskal-Wallis chi-squared = 13.56, df = 7, p-value = 0.05963

-----------------------------------------------------------------------------------------------------
Herb.df$ID: 18-10

       Kruskal-Wallis rank sum test

data:  Indicator_Rating by Year
Kruskal-Wallis chi-squared = 16.65, df = 5, p-value = 0.005213

------------------------------------------------------------------------------------------------------

I used the following code to extract a vector of p.values for each list
element:

sapply(Herb.KW, '[[', 'p.value')
    10-1      18-1     18-10     18-11     18-12     18-13      18-2
18-3      18-4      18-5      18-6
3.302e-02 5.963e-02 5.213e-03 1.321e-09 4.483e-04 2.823e-02 2.893e-03
2.535e-02 5.701e-03
     3-1     37-15     37-16     37-17     37-20     37-21     37-23
37-24     37-25     37-26
3.552e-18 9.189e-01 4.051e-03 2.122e-09 1.325e-01 2.128e-03 4.543e-01
9.940e-02 1.748e-02

I then used wilcoxon_test for post-hoc analysis, which also returns a LIST
with sites as elements.  However, when I try to extract a pvalue from the
list elements, I get the following message:

The test functions in "coin" do not return "htest" objects like kruskal.test() but have their own S4 class. But there is an extractor function pvalue() which can be easily employed:

R> wt <- wilcox_test(extra ~ group, data = sleep, distribution = "exact")
R> pvalue(wt)
[1] 0.06581654

Similarly, you can extract both the standardized statistic as well as the underlying linear statistic (aka rank sum) via statistic():

R> statistic(wt)
        1
-1.854118
R> statistic(wt, "linear")

1 80.5

Thus, your code line should just be

sapply(Herb.Wilcox, pvalue)

instead of

sapply(Herb.Wilcox, '[[', 'p.value')

For more implementation details, see:

  http://www.jstatsoft.org/v28/i08/

(as pointed out in citation("coin")).

Best,
Z

Error in FUN(X[[1L]], ...) : object of type 'S4' is not subsettable

First, how do I determine what the "values" (e.g., statistic, pvalue) of the
model output are, because the reference manual does not say (unlike for
kruskal.test)...is the value object named "p.value" or "pvalue" or
"p-value"??? Is the statistic named "statistic" or "Z.statistic" or
"U.statistic"????

Second, why isn't this object not subsettable even though class=list? how do
i get around this problem and extract the statistic and p-value for each
element in the list?


--
View this message in context: 
http://n4.nabble.com/extracting-results-from-wilcox-test-package-coin-tp1567956p1567956.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
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.


______________________________________________
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