我想知道一种将摘要统计信息添加回数据框每一行的方法。

下面的代码有效,但是应该是更快捷的方法,对吗?

library("tidyverse")
data <- (iris)

means <- iris %>%
  group_by(Species) %>%
  summarise(
    Sepal.Length = mean(Sepal.Length),
    Sepal.Width = mean(Sepal.Width)
  )

data <- merge(data, means, by = "Species")

最佳答案

一种方法是使用mutate。

library("tidyverse")
data <- (iris)

data<-data %>%
  group_by(Species) %>%
  mutate(Sepal.Length.y=mean(Sepal.Length), Sepal.Width.y=mean(Sepal.Width))




因此,这与您以前的操作非常相似,但需要一些步骤。如果要重新排列列的顺序,可以对其重新排序。另外,我建议您在帖子中从Sepal.Length和Sepal.Width更改列名称,但是如果您不指定唯一名称,r会在它们上加上.y使其唯一。
希望这可以帮助。

关于r - 如何将摘要统计值添加到数据框的每一行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55660064/

10-12 17:23