相关疑难解决方法(0)

如何选择每组中具有最大值的行

目前我有一个问题如下.在存在每个主题的多个观察的数据集中,我想制作该数据集的子集,其中仅选择记录的最大数据.例如,对于如下数据集:

ID <- c(1,1,1,2,2,2,2,3,3)
Value <- c(2,3,5,2,5,8,17,3,5)
Event <- c(1,1,2,1,2,1,2,2,2)

group <- data.frame(Subject=ID, pt=Value, Event=Event)
Run Code Online (Sandbox Code Playgroud)

对象1,2和3的最大pt值分别为5,17和5.我怎么能首先找到每个主题的最大pt值,然后将这个观察结果放在另一个数据框中?这意味着该子集仅具有每个主题的最大pt值.

r r-faq

63
推荐指数
10
解决办法
6万
查看次数

仅保留每个因子级别的最小值

我遇到了一些困扰我的问题...希望这里的任何人都可以帮助我.

我得到了以下数据框

f <- c('a','a','b','b','b','c','d','d','d','d')
v1 <- c(1.3,10,2,10,10,1.1,10,3.1,10,10)
v2 <- c(1:10)
df <- data.frame(f,v1,v2)
Run Code Online (Sandbox Code Playgroud)

f是一个因素; v1和v2是值.对于f的每个级别,我只想要保留一行:在此因子级别中具有最低值v1的行.

f   v1  v2
a   1.3 1
b   2   3
c   1.1 6
d   3.1 8
Run Code Online (Sandbox Code Playgroud)

我用聚合,ddply,by,tapply尝试了各种各样的东西......但似乎没有任何效果.对于任何建议,我将非常感激.

r dataframe

25
推荐指数
5
解决办法
8031
查看次数

聚合data.table中的多个列

我有以下样本data.table:

dtb <- data.table(a=sample(1:100,100), b=sample(1:100,100), id=rep(1:10,10))
Run Code Online (Sandbox Code Playgroud)

例如,我想通过id聚合所有列(a和b,尽管它们应该保持分开)colSums.这样做的正确方法是什么?以下不起作用:

 dtb[,colSums, by="id"]
Run Code Online (Sandbox Code Playgroud)

这只是一个示例,我的表有很多列,所以我想避免在函数名中指定所有列

aggregate r dataframe data.table

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

如何在保留R中的其他列的同时聚合一些列?

我有一个这样的数据框:

     id  no  age
1    1   7   23
2    1   2   23
3    2   1   25
4    2   4   25
5    3   6   23
6    3   1   23
Run Code Online (Sandbox Code Playgroud)

我希望将日期框架汇总id到这样的形式:(只需将no它们共享,如果它们共享相同id,但保留age在那里)

    id  no  age
1    1   9   23
2    2   5   25
3    3   7   23
Run Code Online (Sandbox Code Playgroud)

如何使用R来实现这一目标?

aggregate r

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

标签 统计

r ×4

aggregate ×2

dataframe ×2

data.table ×1

r-faq ×1