我正在处理两个数据集,这些数据集是从内置的 R 数据集 cats
导出的。
> 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)Bwt的平均数之间的差异的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))
)
}
t1 <- t.test( catsBwt_Female, catsBwt_Male, paired = TRUE )
,但是出现了错误信息Error in complete.cases(x, y) : not all arguments have the same length
。除此之外,我还计算了每个数据集均值的单独99%置信区间。我对统计学还很陌生。 - Dimitris Sfounis