首页 > 解决方案 > 计算数据框 R 中多列的 95% 可信区间

问题描述

我需要为我的数据获取/计算 95% 的可信区间。我的数据由十列和超过 5000 行组成。这是一些示例数据。

data <- data.frame(A = c(-7.595932, -6.451768, -4.682111, -8.781488, -4.251690), 
                   B = c(0.8324450, 0.9451657, 0.8773759, 0.6044753, 0.6553995),
                   C = c(22.747480, 15.477470, 18.745407, 9.622865, 21.137619), 
                   D = c(-11.684762, -13.474299, -9.783277, -7.747501, -12.352081))

我只是不确定要使用哪个函数,因为我每次都会得到不同的结果,而且它一次只能处理一列。我尝试了以下功能:

ci(data$`A`, confidence = 0.95)  ## R package gmodels

CI(data$`A`, confidence = 0.95) ##R package Rmisc

有没有其他人遇到过同样的问题?

标签: rdataframemultiple-columnsconfidence-intervalcredible-interval

解决方案


这两个函数实际上给了你同样的东西:

library(gmodels)
library(Rmisc)
 CI(data$A)
    upper      mean     lower 
-3.975568 -6.352598 -8.729627 
 ci(data$A, confidence = 0.95)
  Estimate   CI lower   CI upper Std. Error 
-6.3525978 -8.7296274 -3.9755682  0.8561414 

要将其应用于所有列,请使用lapplyor sapply

> sapply(data,CI)
              A         B        C          D
upper -3.975568 0.9648266 24.01143  -8.198957
mean  -6.352598 0.7829723 17.54617 -11.008384
lower -8.729627 0.6011180 11.08091 -13.817811

推荐阅读