【发布时间】:2014-01-20 13:52:59
【问题描述】:
我正在处理两个数据集,它们源自 cats,一个内置 R 数据集。
> cats
Sex Bwt Hwt
1 F 2.0 7.0
2 F 2.0 7.4
3 F 2.0 9.5
4 F 2.1 7.2
5 F 2.1 7.3
6 F 2.1 7.6
7 F 2.1 8.1
8 F 2.1 8.2
9 F 2.1 8.3
10 F 2.1 8.5
11 F 2.1 8.7
12 F 2.1 9.8
...
137 M 3.6 13.3
138 M 3.6 14.8
139 M 3.6 15.0
140 M 3.7 11.0
141 M 3.8 14.8
142 M 3.8 16.8
143 M 3.9 14.4
144 M 3.9 20.5
我想找到男性和女性样本体重(分别为性别 == M 和性别 == F)之间平均值差异的 99% 置信区间
我知道 t.test 会这样做,但如果我将 cats 分解为两个包含男性和女性 Bwt 的数据集,t.test() 会抱怨这两个数据集不是长度相同,这是真的。 cats 中只有 47 位女性和 87 位男性。
是否可以通过其他方式实现,或者我是否通过分解数据来误解数据?
编辑: 我有一个回答者在另一个问题上向我建议的函数,它可以在数据集上获取均值的 CI,可能会派上用场:
ci_func <- function(data, ALPHA){
c(
mean(data) - qnorm(1-ALPHA/2) * sd(data)/sqrt(length(data)),
mean(data) + qnorm(1-ALPHA/2) * sd(data)/sqrt(length(data))
)
}
【问题讨论】:
-
你为什么不实际添加你尝试过的代码
-
@Dason
t1 <- t.test( catsBwt_Female, catsBwt_Male, paired = TRUE ) Error in complete.cases(x, y) : not all arguments have the same length是我尝试过的代码的范围,除了计算每个数据集的平均值的单独 99% CI。总的来说,我是统计新手。 -
不做配对t检验时,为什么要指定paired = TRUE?
-
@Dason 这是个谜。
标签: r dataset confidence-interval