我试图估计实验室测试阅读igg1_norm跨变量类型(5个类别)的不同类别的平均值。
db <- forg %>%
group_by(forg$type)%>%
summarise(mean=mean(forg$igg1_norm, na.rm=TRUE),sd=sd(forg$igg1_norm, na.rm=TRUE),lower = mean(forg$igg1_norm, na.rm=TRUE) - sd(forg$igg1_norm, na.rm=TRUE), upper = mean(forg$igg1_norm, na.rm=TRUE) + sd(forg$igg1_norm, na.rm=TRUE))
我的数据如下所示
cowidfarm type time_num igg1_norm igg2_norm
<chr> <fct> <fct> <labelled> <labelled>
1 LM1047 3 1 0.1080482 0.4526854
2 LM1047 3 2 0.1833975 0.6029548
3 LM1047 3 3 0.1704118 0.5394913
4 LM1050 1 1 0.2883397 0.4347826
5 LM1050 1 2 0.1453905 0.5655340
6 LM1050 1 3 0.3302948 0.4962779
7 LM1134 3 1 0.4498922 0.6672078
8 LM1134 3 2 0.2641302 0.6204986
9 LM1134 3 3 0.3207913 0.5074442
10 LM1221 3 1 1.2184955 0.8653846
当运行代码时,我没有得到任何错误,但输出是奇数,因为当我期望5个值(每个类别一个)时,我只得到一个值。
mean sd lower upper
1 0.4046562 0.3239133 0.08074287 0.7285695
有人知道我做错了什么吗?任何帮助都是非常感谢的
不知道你试过什么,但当我从你的代码中删除forg$
时,我得到:
library(dplyr)
forg %>%
group_by(type)%>%
summarise(mean=mean(igg1_norm, na.rm=TRUE),sd=sd(igg1_norm, na.rm=TRUE),
lower = mean(igg1_norm, na.rm=TRUE) - sd(igg1_norm, na.rm=TRUE),
upper = mean(igg1_norm, na.rm=TRUE) + sd(igg1_norm, na.rm=TRUE))
#> # A tibble: 2 x 5
#> type mean sd lower upper
#> * <int> <dbl> <dbl> <dbl> <dbl>
#> 1 1 0.255 0.0969 0.158 0.352
#> 2 3 0.388 0.383 0.00469 0.771
forg <- read.table(text = "cowidfarm type time_num igg1_norm igg2_norm
1 LM1047 3 1 0.1080482 0.4526854
2 LM1047 3 2 0.1833975 0.6029548
3 LM1047 3 3 0.1704118 0.5394913
4 LM1050 1 1 0.2883397 0.4347826
5 LM1050 1 2 0.1453905 0.5655340
6 LM1050 1 3 0.3302948 0.4962779
7 LM1134 3 1 0.4498922 0.6672078
8 LM1134 3 2 0.2641302 0.6204986
9 LM1134 3 3 0.3207913 0.5074442
10 LM1221 3 1 1.2184955 0.8653846 ", header = TRUE)