【问题标题】:How to extract the dataset from an "htest" object when using formula in r在 r 中使用公式时如何从“htest”对象中提取数据集
【发布时间】:2020-08-09 14:03:31
【问题描述】:

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

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

返回

[1] "pulse by gender"

有没有办法提取数据集(在本例中为“问卷”)?

【问题讨论】:

  • 您的最终目标是在ggttest 中使用t_test 对象吗?
  • 是的,这就是目标。

标签: r hypothesis-test


【解决方案1】:

您无法从 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() 的输出列表不包括变量。

【讨论】:

    【解决方案2】:

    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)
    

    【讨论】:

      猜你喜欢
      • 2014-02-21
      • 1970-01-01
      • 1970-01-01
      • 2013-04-26
      • 2022-01-21
      • 1970-01-01
      • 2021-07-26
      • 2020-12-22
      • 1970-01-01
      相关资源
      最近更新 更多