我有一个看起来像这样的数据集:
1 2
amt1 3
amt2 3
amt3 3
amt1 2
amt2 2
amt2 2
nrt1 1
nrt1 1
nrt1 1
我试图删除第1列中没有变化的行,因此在上面的示例中,具有3和2的行将全部保留,但我将删除1的行。
我想不出一种方法,可以根据每一列有条件地搜索并删除另一列。
答案 0 :(得分:2)
这里是dplyr
的一个选项。通过第二列分组,我们可以filter
在第一列中具有多个唯一值的组(假设它是data.frame
)
library(dplyr)
df1 %>%
group_by(`2`) %>%
filter(n_distinct(`1`) > 1)
答案 1 :(得分:2)
使用基数R
unique(df1)
X1 X2
1 amt1 3
2 amt2 3
3 amt3 3
4 amt1 2
5 amt2 2
7 nrt1 1
答案 2 :(得分:0)
使用Dplyr:
df%>% if_else(as. numeric(1-lag(1)==0)&2-lag(2)==0,na,df).
na.omit(df)