如何选择R中满足条件的行?
我对R非常陌生,并且在R语言的条件下工作。 我有一个如下所示的数据框:如何选择R中满足条件的行?,r,select,conditional-statements,subset,R,Select,Conditional Statements,Subset,我对R非常陌生,并且在R语言的条件下工作。 我有一个如下所示的数据框: ID nb 11 1 11 2 11 3 24 1 24 2 32 1 41 1 41 2 我想为每个不同的ID对nb=max(nb)的行进行子集划分,从而得到这个新的数据帧: ID nb 11 3 24 2 32 1 41 2 如果可能的话,有没有一种不用循环的方法 感谢您的帮助您可以将聚合与max和合并一起使用: merge(x, agg
ID nb
11 1
11 2
11 3
24 1
24 2
32 1
41 1
41 2
我想为每个不同的ID对nb=max(nb)的行进行子集划分,从而得到这个新的数据帧:
ID nb
11 3
24 2
32 1
41 2
如果可能的话,有没有一种不用循环的方法
感谢您的帮助您可以将
聚合
与max
和合并
一起使用:
merge(x, aggregate(nb~ID, x, max))
# ID nb
#1 11 3
#2 24 2
#3 32 1
#4 41 2
查看
tidyverse
函数系列,它让您可以非常轻松地完成此操作!它们是非常有用的函数,需要熟悉。(特别是,如果您了解核心dplyr
函数,您可以在R中完成大部分需要完成的事情。)
data %>%
group_by(ID) %>%
filter(nb == max(nb)) %>%
ungroup()