【问题标题】:Getting the same value when estimating the mean across different categories在估计不同类别的平均值时获得相同的值
【发布时间】:2021-05-10 02:21:34
【问题描述】:

我正在尝试估算跨变量类型(5个类别)的不同类别的实验室测试读数igg1_norm的平均值。

    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$
  • 感谢 Stefan 的提示。然而它并没有产生任何变化。我仍然得到相同的输出。

标签: r group-by mean


【解决方案1】:

不确定您尝试了什么,但是当我从您的代码中删除 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)

【讨论】:

  • 非常感谢斯特凡。即使复制粘贴您的代码以确保我没有做任何错别字,我也遇到了同样的错误。所以我决定回到降价并简化事情,即我用 library() 加载的函数数量。它起作用了:)我加载的不同功能之间一定存在某种冲突。非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2018-11-20
  • 2020-05-20
  • 1970-01-01
  • 2022-08-17
  • 2017-11-24
  • 1970-01-01
  • 2012-06-30
  • 1970-01-01
相关资源
最近更新 更多