问题
The question is how to extract the dataset from an "htest" object when using formula. For example,
library(gginference)
t_test <- t.test(formula = pulse~ gender,
data=questionnaire)
t_test$data.name
returns
[1] "pulse by gender"
Is there a way to extract the dataset (in this case "questionnaire")?
回答1:
There is no way that you could extract the data from the list of the output of t.test(). The code for the components of the output of t.test() is this:
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"
You can see that the list of the output of t.test() does not include the variables.
回答2:
Mohanasundaram answers the OP's specific question. t.test
doesn't store your data in the output so you can't retrieve it.
However, via the OP's comment, if the goal is to use this in ggttest
to visualize, there are two options.
First, ggttest
is expecting the that you didn't use the formula syntax, and instead you directly subset your dataframe (via $
). This is because it expects the t_test$data.name
output to look something like this: "questionnaire$pulse by questionnaire$gender"
The quickest approach would be to not use formulas, if possible:
library(gginference)
t_test <- t.test(questionnaire$pulse ~ questionnaire$gender)
ggttest(t_test) #should give correct output
If for some reason you MUST use a formula, you can manually change t_test$data.name
to match what ggttest
is expecting:
t_test <- t.test(formula = pulse~ gender,
data=questionnaire)
t_test$data.name <- "questionnaire$pulse by questionnaire$gender"
ggttest(t_test)
来源:https://stackoverflow.com/questions/61434785/how-to-extract-the-dataset-from-an-htest-object-when-using-formula-in-r