gpt4 book ai didi

r - 使用 dplyr 自举置信区间

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

看答案 here
如何估计自举间隔?这个问题也在 ggplot2 列表中被问到。

library(dplyr)
mtcars %>%
group_by(vs) %>%
summarise(mean.mpg = mean(mpg, na.rm = TRUE),
sd.mpg = sd(mpg, na.rm = TRUE),
n.mpg = n()) %>%
mutate(se.mpg = sd.mpg / sqrt(n.mpg),
lower.ci.mpg = mean.mpg - qt(1 - (0.05 / 2), n.mpg - 1) * se.mpg,
upper.ci.mpg = mean.mpg + qt(1 - (0.05 / 2), n.mpg - 1) * se.mpg)

最佳答案

Hmisc包有一个功能smean.cl.boot轻松计算简单的自举置信区间。最难的部分 (IMO) 是将这个结果的多个输出(该函数返回一个 3 元素数字向量)合并到一个 dplyr 中。工作流程(见 dplyr::mutate to add multiple values)

library(Hmisc)  ## optional if using Hmisc:: below
library(dplyr)
mtcars %>%
group_by(vs) %>%
do(data.frame(rbind(Hmisc::smean.cl.boot(.$mpg))))

新列仅标记为 Mean , Lower , Upper ,但还有一个 setNames电话会解决这个问题......

如果做很多这样的事情,
bootf <- function(x,var="mpg") {
newstuff <- rbind(Hmisc::smean.cl.boot(x[[var]])) %>%
data.frame %>%
setNames(paste(var,c("mean","lwr","upr"),sep="_"))
return(newstuff)
}
mtcars %>% group_by(vs) %>% do(bootf(.))
mtcars %>% group_by(cyl) %>% do(bootf(.))

关于r - 使用 dplyr 自举置信区间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38554383/

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