为什么当我运行ggttest时出现错误?

时间:2020-04-04 20:22:37

标签: r t-test

当我为数字和二分变量运行t检验时,没有问题,我可以看到结果。问题是当我运行相同的t检验的ggttest时。发生错误,并说找不到我的变量之一。我不明白为什么会这样。我使用的aml数据集来自程序包引导。在下面您可以看到代码:

https://i.stack.imgur.com/7kuaA.png

library(gginference)
time_group.test16537 = t.test(formula = time~group,
                              data = aml,
                              alternative = "two.sided",
                              paired = FALSE,
                              var.equal = FALSE,
                              conf.level = 0.95)
    time_group.test16537


    ggttest(time_group.test16537,
            colaccept="lightsteelblue1", 
            colreject="gray84", 
            colstat="navyblue")

2 个答案:

答案 0 :(得分:2)

问题在于ggttest中的以下代码行:

datnames <- strsplit(t$data.name, splitter)
len1 <- length(eval(parse(text = datnames[[1]][1])))
len2 <- length(eval(parse(text = datnames[[1]][2])))

它试图找到组和时间的len,但没有看到它来自data.frame。相当糟糕的错误...

根据您的情况,假设每个组中的少于30个,并且它绘制t分布,所以这样做:

library(gginference)
library(boot)
gginference:::normt(t.test(time~group,data=aml),
colaccept = "lightsteelblue1",colreject = "grey84", 
colstat = "navyblue")

enter image description here

答案 1 :(得分:0)

t.test不会将数据存储在输出中,因此无法从t.test的输出列表中提取数据。

使用公式的唯一方法是:

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

此处的原始答案:How to extract the dataset from an "htest" object when using formula in r