在R中,我想用列“first”的group_by
过滤“second”中有正值和“second”中有适当负值的行。因此,在前两行和后两行下面的情况下。
# creating first column
first <- c(1,2,3,4,5,6,7,1,1,2)
# creating second column
second <- c(88,52,-28,-19,39,86,-31,10,-88,-52)
df<-data.frame(first, second)
结果应为
data.frame(first=c(1,2,1,2), second=c(88,52,-88,-52))
3条答案
按热度按时间xriantvc1#
您可以在
ave
中将%in%
与intersect
一起使用。vd2z7a6w2#
首先创建一个表示
second
绝对值的列,然后创建group_by
first
和abs
列。filter
,对于正好有两个条目的组,其中一个为正,另一个为负。r6vfmomb3#
也许这个能帮上忙
它给出了