且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

同时删除两列中的重复行

更新时间:2023-02-02 21:53:20

如果您想使用子集,您可以尝试:

$ b (df,!duplicateated(subset(df,select = c(allrl,RAW.PVAL))))
#RAW.PVAL GR allrl Bak
#1 0.05 fr EN1 B12
#3 0.45 fr EN2 B10
#4 0.35 fg EN2 B066

但是,我认为@ thelatemail的方法会更好

  df [!duplicateated(df [c(RAW.PVAL,allrl)])] 


I would like to delete duplicate rows based in two collumns, instead just one.

My input df:

RAW.PVAL  GR     allrl  Bak
0.05      fr     EN1    B12
0.05      fg     EN1    B11
0.45      fr     EN2    B10
0.35      fg     EN2    B066

My output:

RAW.PVAL  GR  allrl   Bak
0.05      fr   EN1    B12
0.45      fg   EN2    B10
0.35      fg   EN2    B066

I had tried df<- subset(df, !duplicated(allrl, RAW.PVAL)), but I do not work to delete rows with this two columns simultaneously duplicated.

Thank you!

If you want to use subset, you could try:

  subset(df, !duplicated(subset(df, select=c(allrl, RAW.PVAL))))
 # RAW.PVAL GR allrl  Bak
 #1     0.05 fr   EN1  B12
 #3     0.45 fr   EN2  B10
 #4     0.35 fg   EN2 B066

But, I think @thelatemail's approach would be better

  df[!duplicated(df[c("RAW.PVAL","allrl")]),]