我正在使用 expss 表来计算平均值。我找不到一个函数来报告平均值的置信区间。
我知道 r 有几个可以计算和报告置信区间的包,但我专注于使用 expss 包。我尝试使用 tab_stat_fun_df() 创建一个函数,但没有成功。我还查看了 expss 包的重要性文档,希望有一个报告 CI 的选项。
希望为这段代码中的方法添加 CI:
df <- data.frame(Group=c(1,1,1,1,1,1,1,0,0,0,0,0,0,0,0),
Response=c(0,1,0,1,0,1,0,1,0,1,0,1,1,0,0),
Value=c(10,20,17,14,15,16,17,18,19,10,11,12,13,14,15))
library(expss)
df %>% tab_rows(Group) %>% tab_cols(Response) %>% tab_cells(Value) %>%
tab_stat_mean_sd_n() %>% tab_pivot()
我提出的不是一个实际的解决方案,而是一个起点(基于
tab_stat_fun_df command
的使用)。需要进一步细化才能实现您的需求。
library(expss)
df <- data.frame(Group=c(1,1,1,1,1,1,1,0,0,0,0,0,0,0,0),
Response=c(0,1,0,1,0,1,0,1,0,1,0,1,1,0,0),
Value=c(10,20,17,14,15,16,17,18,19,10,11,12,13,14,15))
df %>% tab_rows(Group) %>%
tab_cols(Response) %>%
tab_cells(Value) %>%
tab_stat_mean_sd_n() %>%
tab_stat_fun_df(function(x) {
out <- t.test(x)
mn <- round(out$estimate,2)
CI=round(out$conf.int,2)
c("Mean" = paste0(mn, " (", CI[1], " - ", CI[2], ")"))
}) %>%
tab_pivot()
输出是
| | | | | Response | |
| | | | | 0 | 1 |
| ----- | -- | ----- | ------------ | -------------------- | -------------------- |
| Group | 0 | Value | Mean | 14.75 | 13.25 |
| | | | Std. dev. | 3.30403793359983 | 3.40342964277702 |
| | | | Unw. valid N | 4 | 4 |
| | 1 | Value | Mean | 14.75 | 16.6666666666667 |
| | | | Std. dev. | 3.30403793359983 | 3.05505046330389 |
| | | | Unw. valid N | 4 | 3 |
| | 0 | Mean | | 14.75 (9.49 - 20.01) | 13.25 (7.83 - 18.67) |
| | 1 | Mean | | 14.75 (9.49 - 20.01) | 16.67 (9.08 - 24.26) |