在 r 中使用公式时如何从 "htest" 对象中提取数据集

How to extract the dataset from an "htest" object when using formula in r

问题是如何在使用公式时从 "htest" 对象中提取数据集。 例如,

library(gginference)
t_test <- t.test(formula = pulse~ gender,  
             data=questionnaire)
t_test$data.name

returns

[1] "pulse by gender"

有没有办法提取数据集(在本例中 "questionnaire")?

您无法从 t.test() 的输出列表中提取数据。 t.test() 输出组件的代码是这样的:

rval <- list(statistic = tstat, parameter = df, p.value = pval,
           conf.int = cint, estimate = estimate, null.value = mu,
           alternative = alternative,
           method = method, data.name = dname)
    class(rval) <- "htest"

您可以看到 t.test() 的输出列表不包括变量。

Mohanasundaram 回答了 OP 的具体问题。 t.test 不会将您的数据存储在输出中,因此您无法检索它。

然而,根据 OP 的评论,如果目标是在 ggttest 中使用它来可视化,则有两种选择。

首先,ggttest 期望您没有使用公式语法,而是直接对数据框进行子集化(通过 $)。这是因为它希望 t_test$data.name 输出看起来像这样:"questionnaire$pulse by questionnaire$gender" 最快的方法是尽可能不使用公式:

library(gginference)

t_test <- t.test(questionnaire$pulse ~ questionnaire$gender)

ggttest(t_test) #should give correct output

如果出于某种原因您必须使用公式,您可以手动更改 t_test$data.name 以匹配 ggttest 的预期:

t_test <- t.test(formula = pulse~ gender,  
             data=questionnaire)

t_test$data.name <- "questionnaire$pulse by questionnaire$gender"

ggttest(t_test)