首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何选择在R中满足条件的行?

如何选择在R中满足条件的行?
EN

Stack Overflow用户
提问于 2020-05-13 14:49:55
回答 2查看 197关注 0票数 0

我对R很陌生,用R语言做条件方面的工作。我有一张这样的数据:

代码语言:javascript
复制
ID   nb
11    1
11    2
11    3
24    1
24    2
32    1
41    1
41    2

对于每个不同的ID,我想对其中nb = max(nb)的行进行子集,因此获得以下新数据:

代码语言:javascript
复制
ID   nb
11    3
24    2
32    1
41    2

如果可能的话,有没有一种不用循环就能做到这一点的方法?

谢谢你的帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-13 14:52:54

请查看tidyverse函数系列,它允许您非常轻松地执行此操作!它们是需要熟悉的非常有用的功能。(特别是,如果您知道核心dplyr函数,那么您可以在R中完成大部分需要做的事情。)

代码语言:javascript
复制
data %>%
  group_by(ID) %>%
  filter(nb == max(nb)) %>%
  ungroup()
票数 1
EN

Stack Overflow用户

发布于 2020-05-13 14:52:04

您可以将aggregatemaxmerge结合使用

代码语言:javascript
复制
merge(x, aggregate(nb~ID, x, max))
#  ID nb
#1 11  3
#2 24  2
#3 32  1
#4 41  2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61777750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档