gpt4 book ai didi

r - 如何使用ggplot2中使用的mean_CI_boot计算自举置信区间?

转载 作者:行者123 更新时间:2023-12-01 03:04:27 29 4
gpt4 key购买 nike

我有一个 2 x 2 阶乘数据集,我使用 mean_cl_boot 绘制了置信区间功能。我想使用适当的函数在 R 中计算它。我怎样才能做到这一点?

我的数据集示例如下:

df <- data.frame(
fertilizer = c("N","N","N","N","N","N","N","N","N","N","N","N","P","P","P","P","P","P","P","P","P","P","P","P","N","N","N","N","N","N","N","N","N","N","N","N","P","P","P","P","P","P","P","P","P","P","P","P"),
level = c("low","low","high","high","low","low","high","high","low","low","high","high","low","low","high","high","low","low","high","high","low","low","high","high","low","low","high","high","low","low","high","high","low","low","high","high","low","low","high","high","low","low","high","high","low","low","high","low"),
repro = c(0,90,2,4,0,80,1,90,2,33,56,0,99,100,66,80,1,0,2,33,0,0,1,2,90,5,2,2,5,8,0,1,90,2,4,66,0,0,0,0,1,2,90,5,2,5,8,55)
)

我知道有多种方法可以从图中提取 CI 点,但我确实这样做了 不是 想做这个。我想使用计算这个的函数。

最佳答案

mean_cl_boot建立在 Hmisc::smean.cl.boot() .

如果要计算所有值(无论级别如何)的自举 CI,smean.cl.boot(df$repro)应该这样做。

这就是在基 R 中执行拆分-应用-组合的方式:

library(Hmisc)
ss <- with(df, split(df, list(fertilizer,level)))
bb <- lapply(ss, function(x) smean.cl.boot(x$repro))
do.call(rbind,bb)

结果:
           Mean     Lower    Upper
N.high 19.00000 5.747917 36.58750
P.high 26.09091 8.631818 47.27273
N.low 33.75000 12.416667 58.26042
P.low 20.38462 1.615385 42.69423

如果您想在 tidyverse 中执行此操作:
library(tidyverse)
(df
%>% group_split(fertilizer,level)
%>% map_dfr(~as_tibble(rbind(smean.cl.boot(.[["repro"]]))))

(这并不完全令人满意:可能有一种更清洁的方法来做到这一点)

关于r - 如何使用ggplot2中使用的mean_CI_boot计算自举置信区间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59129637/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com