我是 tidyverse 的新手,从概念上讲,我想计算以“ab”开头、按“case”分组的所有列的平均值和 90% CI。尝试了很多方法,但似乎都不起作用,我的实际数据有很多列,所以明确列出它们不是一个选择。
测试数据如下
library(tidyverse)
dat <- tibble(case= c("case1", "case1", "case2", "case2", "case3"),
abc = c(1, 2, 3, 1, 2),
abe = c(1, 3, 2, 3, 4),
bca = c(1, 6, 3, 8, 9))
下面的代码是我在概念上想做的事情,但显然不起作用
dat %>% group_by(`case`) %>%
summarise(mean=mean(select(starts_with("ab"))),
qt=quantile(select(starts_with("ab"), prob=c(0.05, 0.95))))
我想要得到的是类似下面的东西
case abc_mean abe_mean abc_lb abc_ub abe_lb abe_ub
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 case1 1.5 2.0 1.05 1.95 1.10 2.90
2 case2 2.0 2.5 1.10 2.90 2.05 2.95
3 case3 2.0 4.0 2.00 2.00 4.00 4.00