相关疑难解决方法(0)

按组添加一列均值到原始数据

我想基于因子列添加一列均值R data.frame.像这样:

df1 <- data.frame(X = rep(x = LETTERS[1:2], each = 3), Y = 1:6)
df2 <- aggregate(data = df1, Y ~ X, FUN = mean)
df3 <- merge(x = df1, y = df2, by = "X", suffixes = c(".Old",".New"))
df3
#   X Y.Old Y.New
# 1 A     1     2
# 2 A     2     2
# 3 A     3     2
# 4 B     4     5
# 5 B     5     5
# 6 B     6     5
Run Code Online (Sandbox Code Playgroud)

要完成这个问题,我要创建两个不必要的data.frames.我想知道一种方法,可以通过因子列将一列方法附加到我的原始列中 …

r dataframe

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

按组查找运行最大值

我需要使用R按组查找变量的运行最大值.变量按组内的时间排序使用df[order(df$group, df$time),].

我的变量有一些NA,但我可以通过用零替换它来处理它.

这是数据框df的样子:

(df <- structure(list(var = c(5L, 2L, 3L, 4L, 0L, 3L, 6L, 4L, 8L, 4L),
               group = structure(c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L),
                                 .Label = c("a", "b"), class = "factor"),
               time = c(1L, 2L, 3L, 4L, 5L, 1L, 2L, 3L, 4L, 5L)),
          .Names = c("var", "group","time"),
          class = "data.frame", row.names = c(NA, -10L)))

#    var group time
# 1    5     a    1
# 2    2     a    2
# 3    3     a …
Run Code Online (Sandbox Code Playgroud)

r max groupwise-maximum

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

将最大值添加到 R 中的新列

这是数据:

a <- c(1,1,2,2,3)  
b <- c(1,3,5,9,4)
df1 <- data.frame(a,b)
df1

a b
1 1
1 3
2 5
2 9
3 4
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西:

a b max
1 1 3
1 3 3
2 5 9
2 9 9
3 4 4
Run Code Online (Sandbox Code Playgroud)

我的问题:如何计算“a”列的“最大”列分组,“b”列中有值?

我对聚合函数进行了一些研究,但仍然找不到解决方案。

请帮忙

r

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

如何创建一个包含R中另一列的最大值的列?

使用R,我想创建一个新列(MaxAct),显示不同列(ActNo)的最大数量,同时按两个因子分组(HHID和PERID)

例如,我有这个数据集:

UID HHID PERID ActNo
1   1000 1     1
2   1000 1     2
3   1000 1     3
4   1000 2     1
5   1000 2     2
6   2000 1     1
7   2000 1     2
8   2000 1     3
9   2000 1     4
10  2000 2     1
11  2000 2     2
Run Code Online (Sandbox Code Playgroud)

然后我想添加新列(MaxAct),如下所示:

UID HHID PERID ActNo MaxAct
1   1000 1     1     3
2   1000 1     2     3
3   1000 1     3     3
4   1000 2     1     2
5   1000 2     2 …
Run Code Online (Sandbox Code Playgroud)

r plyr data.table

0
推荐指数
2
解决办法
4833
查看次数

标签 统计

r ×4

data.table ×1

dataframe ×1

groupwise-maximum ×1

max ×1

plyr ×1