2016-09-06 119 views
1

我的数据帧包含500个样本,每个样本的大小为100。下面是快照。我需要计算90/95/99平均值的置信区间。使用R的样本均值的置信区间

head(Means_df) 
    Means 
1 14997 
2 11655 
3 12471 
4 12527 
5 13810 
6 13099 

我使用下面的代码,但只获取一行的置信区间。任何人都可以帮助我的代码?

tint <- matrix(NA, nrow = dim(Means_df)[2], ncol = 2) 
for (i in 1:dim(Means_df)[2]) { 
    temp <- t.test(Means_df[, i], conf.level = 0.9) 
    tint[i, ] <- temp$conf.int 
} 
colnames(tint) <- c("lcl", "ucl") 
+0

您是否试图为每一行获得置信区间?而对于每一行你只有一个值(这是我假设其他一些数据的意思)? – Dason

回答

1

Means_df是一个有500行和1列的数据帧。因此,

dim(Means_df)[2] 

将给出值1

这就是为什么你只能得到一个值。

通过使用dim(Means_df)[1]或甚至更好nrow(Means_df)而不是dim(Means_df)[2]来解决问题。

1

对于任何单一的手段, G。 14997,在不知道数据的方差或标准偏差的情况下无法计算95%-CI,平均值是从中计算出来的。如果您可以访问每个样本的标准偏差,那么您可以计算平均值的标准误差,并且可以轻松计算95%-CI。显然,你缺少任务所需的信息。