lsmeans_tidiers {broom} | R Documentation |
Tidiers for least-squares means objects, which report the predicted
means for factors or factor combinations in a linear model. This
covers two classes:
lsmobj
and ref.grid
. (The two objects have slightly different
purposes within the package but have similar output).
## S3 method for class 'lsmobj' tidy(x, conf.level = 0.95, ...) ## S3 method for class 'ref.grid' tidy(x, ...)
x |
"lsmobj" or "ref.grid" object |
conf.level |
Level of confidence interval, used only for
|
... |
Extra arguments, passed on to summary.ref.grid |
There are a large number of arguments that can be
passed on to summary.ref.grid. By broom convention,
we use conf.level
to pass the level
argument.
A data frame with one observation for each estimated mean, and one column for each combination of factors, along with the following variables:
estimate |
Estimated least-squares mean |
std.error |
Standard error of estimate |
df |
Degrees of freedom |
conf.low |
Lower bound of confidence interval |
conf.high |
Upper bound of confidence interval |
When the input is a contrast, each row will contain one estimated contrast, along with some of the following columns:
level1 |
One level of the factor being contrasted |
level2 |
Second level |
contrast |
In cases where the contrast is not made up of two levels, describes each |
statistic |
T-ratio statistic |
p.value |
P-value |
if (require("lsmeans", quietly = TRUE)) { # linear model for sales of oranges per day oranges_lm1 <- lm(sales1 ~ price1 + price2 + day + store, data = oranges) # reference grid (see lsmeans vignette) oranges_rg1 <- ref.grid(oranges_lm1) td <- tidy(oranges_rg1) head(td) # marginal averages marginal <- lsmeans(oranges_rg1, "day") tidy(marginal) # contrasts tidy(contrast(marginal)) tidy(contrast(marginal, method = "pairwise")) # plot confidence intervals library(ggplot2) ggplot(tidy(marginal), aes(day, estimate)) + geom_point() + geom_errorbar(aes(ymin = conf.low, ymax = conf.high)) # by multiple prices by_price <- lsmeans(oranges_lm1, "day", by = "price2", at = list(price1 = 50, price2 = c(40, 60, 80), day = c("2", "3", "4")) ) by_price tidy(by_price) ggplot(tidy(by_price), aes(price2, estimate, color = day)) + geom_line() + geom_errorbar(aes(ymin = conf.low, ymax = conf.high)) }