r - 计算数据框 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
有没有其他人遇到过同样的问题?
解决方案
这两个函数实际上给了你同样的东西:
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
要将其应用于所有列,请使用lapply
or 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
推荐阅读
- reporting-services - 按标签按百分比排列 SSRS 矩阵中的列
- angular - 角度服务单元测试 DoneFn
- twitter - 在 twitter 回调 url 中传递请求参数
- python - 如何在 Pygame 中单击并转到另一个页面?
- mysql - mysql连接四个表而不使用数据
- sql - 如何在 BIG QUERY 中创建具有增量负载的表
- stripe-payments - 使用 Stripe 的 webhook 在后端更新订阅的最佳方式是什么?
- sql - 将 SQL 中带小数点时间戳的 17 位数字转换为日期
- python - 如何识别pandas python中的列值变化
- ios - '尝试将第 0 行插入第 0 节,但更新后第 0 节只有 0 行'