> On Jun 24, 2016, at 8:45 AM, John Sorkin <jsor...@grecc.umaryland.edu> wrote: > > > I am trying to make the leap from an R users to an R aficionado . . . > > I am trying to understand how add a column to the output of summary (and to > understand how summary() works). > > I have run a glmer > fit0 <- glmer(Fall ~ > Group+(1|PID),family=poisson(link="log"),data=data[data[,"Group"]!=0,]) > > and I want to perform adjusted multiple comparisons: > > SumTukey <- summary(glht(fit0, linfct= mcp(Group="Tukey"))) > > which gives beautiful output: > >> SumTukey > > Simultaneous Tests for General Linear Hypotheses > > Multiple Comparisons of Means: Tukey Contrasts > > > Fit: glmer(formula = Fall ~ Group + (1 | PID), data = data[data[, > "Group"] != 0, ], family = poisson(link = "log")) > > Linear Hypotheses: > Estimate Std. Error z value Pr(>|z|) > 2 - 1 == 0 0.5320 0.5075 1.048 0.717 > 3 - 1 == 0 0.6554 0.5000 1.311 0.551 > 4 - 1 == 0 0.9357 0.4655 2.010 0.181 > 3 - 2 == 0 0.1234 0.4174 0.296 0.991 > 4 - 2 == 0 0.4037 0.3754 1.075 0.700 > 4 - 3 == 0 0.2803 0.3651 0.768 0.867 > (Adjusted p values reported -- single-step method) > > I want to add a column to the output (unadjusted p-values), but I don't see > how this might be done. The output > is not a dataframe, nor is it a matix. >> class(SumTukey) > [1] "summary.glht" "glht" > > It is some class of objects that I don't understand and know nothing > about. How can I add a column to the output of SumTukey [a.k.a. > summary(glht(fit0, linfct= mcp(Group="Tukey")))] ? > > Thank you > John
Hi John, Two things that can be helpful are to review the structure of the object returned by summary.glht(), which in your code above would be (see ?str): str(SumTukey) and also review the print method for the object that actually generates the console output. In this case, using: multcomp:::print.summary.glht or getAnywhere(print.summary.glht) will reveal the code that is used to generate the output that you see above. The print method is not exported from the package's namespace. You can review the print method code to see which components of 'SumTukey' are then used to create the output and what internal functions are used to do that. Once you understand the structure of the object and how that object's content is formatted and output for display by the associated print method for the object class, you can modify things to fit your need by creating, if need be, your own functions to modify the required part or parts of the object itself and then output them. If you want to understand what summary.glht() is doing, take the same approach as above for the print method, since it is not exported either: multcomp:::summary.glht or getAnywhere(summary.glht) Regards, Marc Schwartz ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.