在 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)
问题是如何在使用公式时从 "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)