R - 计算 DPLYR 中组中的残差

  • 本文关键字:计算 DPLYR r dplyr
  • 更新时间 :
  • 英文 :


我正在尝试使用 R 计算方差方差中的组内残差。我的数据框是

df <- data.frame(V1 = c(rep("group1", 5), rep("group2", 7)),
                 value = c(6.6,4.6,8.5,6.1,8.4,
                           10.7,10.1,10.9,10.7,15.6,13.8,15.9))

我想使用一种使用 dplyr 的简单方法,否则将以下两行代码组合在一起

M <- df %>% group_by(V1) %>% summarise(avg = mean(value))
df$res <- ifelse(test = df$V1 == "group1", yes = (df$value - M$avg[1])^2,
                                            no = (df$value - M$avg[2])^2)

我试图在dplyr中使用do()但没有成功。我想知道是否有一种巧妙的方法可以做到这一点。

如果您需要继续使用原始value列和avg,请使用mutate而不是summarize,以便将平均值放在原始值旁边的新列中:

df %>% 
    group_by(V1) %>%
    mutate(avg = mean(value),
           res = (value - avg)^2)

最新更新