R 如何计算所有复制中每次治疗的平均值

R 如何计算所有复制中每次治疗的平均值,r,R,我正在寻找一种方法来计算两次重复中每次治疗的体重平均值、sd值和se值 Treatment Rep Weight Line 1 1 NA Line 1 1 NA Line 1 1 NA Line 1 1 NA Line 2 1 26 Line 2 1 26 Line 2 1 26 Line 2 1 27 Line 1 2 26 Line 1 2 28 Line 1 2 26 L

我正在寻找一种方法来计算两次重复中每次治疗的体重平均值、sd值和se值

Treatment    Rep Weight  
Line 1  1   NA  
Line 1  1   NA  
Line 1  1   NA  
Line 1  1   NA  
Line 2  1   26  
Line 2  1   26  
Line 2  1   26  
Line 2  1   27  
Line 1  2   26  
Line 1  2   28  
Line 1  2   26  
Line 1  2   25  
Line 2  2   24  
Line 2  2   26  
Line 2  2   25  
Line 2  2   NA  
我尝试了dplyr包,但它给出了每个复制的平均治疗方法,而不是两个复制的组合

Data1 %>% group_by(Treatment, Rep) %>% summarise_at(vars(-group_cols()), list(mean = ~mean(Weight, na.rm = TRUE), 
       sd = ~sd(Weight, na.rm = TRUE), se= ~sd(Weight, na.rm = TRUE)/sqrt(n())))
谢谢你的帮助

基于OP的代码

df1 %>%
   group_by(Treatment, Rep) %>% 
   summarise_at(vars(-group_cols()), list(mean = ~mean(Weight, na.rm = TRUE), 
      sd = ~sd(Weight, na.rm = TRUE),
      se= ~sd(Weight, na.rm = TRUE)/sqrt(n()))) %>% 
   summarise_at(vars(mean:se), mean, na.rm = TRUE)
数据
df1请发布您使用的代码。您可能没有向
group\u by
提供正确的分组变量。如果您包含一个简单的示例输入和所需的输出,可用于测试和验证可能的解决方案,则会更容易为您提供帮助。显示您已经尝试过的代码。确保以可复制的格式共享数据。您的某些值中似乎有空格,因此很难以这种格式复制/粘贴。最好共享一个
dput()
或类似的东西。我已经添加了代码。非常感谢。谢谢,有一个问题。对于某些治疗,Rep 2没有值,在这种情况下,它计算平均值,没有sd或se。我该如何解决这个问题?@Jessica对于这些病例,
sd
se
的输出是什么?对于每个复制,代码没有给出正确的平均值。我得到的意思是,使用上述代码的每个代表大约有一半应该得到的信息。@Jessica如果你能用预期的ouptut更新你的帖子,交叉检查会更容易
df1 <- structure(list(Treatment = c("Line 1", "Line 1", "Line 1", "Line 1", 
"Line 2", "Line 2", "Line 2", "Line 2", "Line 1", "Line 1", "Line 1", 
"Line 1", "Line 2", "Line 2", "Line 2", "Line 2"), Rep = c(1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), 
    Weight = c(NA, NA, NA, NA, 26L, 26L, 26L, 27L, 26L, 28L, 
    26L, 25L, 24L, 26L, 25L, NA)), class = "data.frame", row.names = c(NA, 
-16L))