从R中的摘要对象提取df

从R中的摘要对象提取df,r,dataframe,statistics,regression,lm,R,Dataframe,Statistics,Regression,Lm,在下面的R代码中,我想知道如何从ems$emmeans对象中提取df值 library(lme4) library(emmeans) dat <- read.csv('https://raw.githubusercontent.com/hkil/m/master/z.csv') dat$year <- as.factor(dat$year) m1 <- lmer(y~year*group + (1|stid), data = dat) ems <- emmeans(m

在下面的R代码中,我想知道如何从
ems$emmeans
对象中提取
df

library(lme4)
library(emmeans)
dat <- read.csv('https://raw.githubusercontent.com/hkil/m/master/z.csv')
dat$year <- as.factor(dat$year)

m1 <- lmer(y~year*group + (1|stid), data = dat)

ems <- emmeans(m1, pairwise ~ group*year, infer = c(T, T))

# How to extract 'df' values from ems$emmeans?
库(lme4)
图书馆(emmeans)

dat对于“emmGrid”有
as.data.frame
方法

methods(class = 'emmGrid')
#[1] [             +             as.data.frame as.glht       as.list       CLD           coef          confint      
#[9] contrast      pairs         plot          predict       print         rbind         show          str          
#[17] summary       test          update        vcov   
因此,我们可以将“emmeans”的输出转换为
data.frame
,并使用
$
[[

as.data.frame(ems$emmeans)$df

有一个
注释
建议禁用'D.f.计算,因为观测值超过3000,要启用,请添加'pbkrtest.limit=3435'

ems <- emmeans(m1, pairwise ~ group*year, infer = c(T, T), pbkrtest.limit = 3435)
as.data.frame(ems$emmeans)$df
#[1] 3090.821 2994.815 3328.634 3164.587 3380.889 3371.980

ems我仍然收到Inf,我收到一个
注意
D.f.计算已被禁用,因为观测数超过3000。要启用调整,请添加参数“pbkrtest.limit=3435”(或更大)
@rnorouzian您可以创建一个函数
f1 3000 emmeans(模型,…,pbkr.test.limit=3435)否则…
或还有一个选项来更新emmGrid@rnorouzian不,我没有醒,谢谢,谢谢!