当我为数字和二分变量运行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")
答案 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")
答案 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