R 如何从数据框中子集一个列中的值,该值与多个相同条目中的条件相匹配?

R 如何从数据框中子集一个列中的值,该值与多个相同条目中的条件相匹配?,r,subset,R,Subset,我有一个数据集集,如下所示: uniprot site netphorest 1 C9J0A7 169 0.064921 3 C9J0A7 169 0.063045 4 C9J0A7 169 0.055366 9 C9J0A7 169 0.055366 10 C9J0A7 169 0.055366 11 C9J0A7 169 0.055577 14 C9J0A7 169 0.054875 15 C9J0A7 169 0

我有一个数据集集,如下所示:

   uniprot site netphorest
1   C9J0A7  169   0.064921
3   C9J0A7  169   0.063045
4   C9J0A7  169   0.055366
9   C9J0A7  169   0.055366
10  C9J0A7  169   0.055366
11  C9J0A7  169   0.055577
14  C9J0A7  169   0.054875
15  C9J0A7  169   0.054875
16  C9J0A7  169   0.054875
22  C9J0A7  169   0.430742
23  C9J0A7  169   0.430742
同一uniprot标识符和修饰位点有多个条目,但每个条目都有多个netphorest分数(被特定酶修饰的可能性)和超过42000个观察值。基本上,我想为特定的uniprot/站点行选择最高分数

我尝试过这样做(1hCX是我的数据帧)


CX1href例如,您可以使用:

aggregate(CX1h$netphorest, list(CX1h$uniprot,ddd$site), max)
(编辑:如评论中所建议)


或者使用
with()
which()
ave()
max()
组合使用最大netphorest值对行进行子集划分。

例如,您可以使用:

aggregate(CX1h$netphorest, list(CX1h$uniprot,ddd$site), max)
(编辑:如评论中所建议)


或者使用
with()
which()
ave()
max()
组合使用最大netphorest值对行进行子集设置。

可以尝试类似于
聚合(netphorest~uniprot+site,CX1h,max)
。或者,
库(data.table);setDT(CX1h)[,max(netphorest),by=list(uniprot,site)]
选择每个特定列的max/mean/sum值的问题已被多次询问和回答,因此。。。在询问之前尝试搜索它;)因为很明显我还没有这么做……也许可以尝试一些类似于
aggregate(netphorest~uniprot+site,CX1h,max)
。或者,
库(data.table);setDT(CX1h)[,max(netphorest),by=list(uniprot,site)]
选择每个特定列的max/mean/sum值的问题已被多次询问和回答,因此。。。在询问之前尝试搜索它;)因为很明显我还没有这么做……是的,这就是我想要的!谢谢是的,这就是我想要的!谢谢
aggregate(CX1h$netphorest, list(CX1h$uniprot,ddd$site), max)