目前我有一个问题如下.在存在每个主题的多个观察的数据集中,我想制作该数据集的子集,其中仅选择记录的最大数据.例如,对于如下数据集:
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值.
我遇到了一些困扰我的问题...希望这里的任何人都可以帮助我.
我得到了以下数据框
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尝试了各种各样的东西......但似乎没有任何效果.对于任何建议,我将非常感激.
我有以下样本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)
这只是一个示例,我的表有很多列,所以我想避免在函数名中指定所有列
我有一个这样的数据框:
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来实现这一目标?