相关疑难解决方法(0)

计算组平均值(或其他摘要统计数据)并分配给原始数据

我想要计算mean(或任何其他摘要长度之一,例如统计min,max,length,sum)的数值变量("值")的分组变量("基团")的每个水平内.

摘要统计应该被分配到具有一个新的变量相同的长度原始数据.即,原始数据中的每一行应该具有对应于当前组值的值-该数据组应该被折叠,以便每组中的一行.例如,考虑组mean:

之前

id  group  value
1   a      10
2   a      20
3   b      100
4   b      200
Run Code Online (Sandbox Code Playgroud)

id  group  value  grp.mean.values
1   a      10     15
2   a      20     15
3   b      100    150
4   b      200    150
Run Code Online (Sandbox Code Playgroud)

r mean r-faq

22
推荐指数
3
解决办法
2万
查看次数

在 R 中,如何按组添加最大值?

我想使用 R 在我的数据集中创建一个新列,其中包含每个唯一组的最大值。我的数据如下所示:

group<-c("A","A","A","A","A","B","B","C","C","C")
replicate<-c(1,2,3,4,5,1,2,1,2,3)
x<-data.frame(cbind(group,replicate))
Run Code Online (Sandbox Code Playgroud)

我想创建如下所示的第三列 - 每组的最大值。

group   replicate max.per.group
A       1         5       
A       2         5
A       3         5
A       4         5
A       5         5
B       1         2
B       2         2
C       1         3
C       2         3
C       3         3
Run Code Online (Sandbox Code Playgroud)

r

5
推荐指数
2
解决办法
6265
查看次数

使用dplyr将汇总列添加到数据框

我正在尝试使用dplyr将聚合列添加到数据框。这是我想到的一个例子:

gender <- c("male", "female", "male")
age <- c(25, 30, 56)
weight <- c(160, 110, 220)
mydata <- data.frame(gender, age, weight)
Run Code Online (Sandbox Code Playgroud)

先按性别将数据框mydata分组,然后再进行汇总计算以按性别查找平均权重:

library(dplyr)
mydata <- group_by(mydata, gender)
mydata2 <- summarise(mydata, wt=mean(weight))
Run Code Online (Sandbox Code Playgroud)

有没有办法在与上述相同的步骤中将平均权重的列添加到原始数据帧中?在SQL中,我将使用以下代码行实现此目的:

SELECT gender, age, weight, avg(weight) as avg_wt FROM mydata GROUP BY gender
Run Code Online (Sandbox Code Playgroud)

我意识到这是一个非常基本的问题,但是我是R语言的新手,我似乎在任何地方都找不到答案。

r dplyr

2
推荐指数
1
解决办法
877
查看次数

标签 统计

r ×3

dplyr ×1

mean ×1

r-faq ×1