簡體   English   中英

如何在基於R的觀測值具有相同價值的標准中刪除觀測值?

[英]How to delete observations in R based criterion that observations have same value?

我有以下數據框,我希望根據以下三個標准從中刪除觀察值:x = x,y = y和z> = 60。

df <- data.frame(x=c(1,1,2,2,3,3,4,4),
                 y=c(2011,2012,2011,2011,2013,2014,2011,2012),
                 z=c(15,15,60,60,15,15,30,15))

> df
  x    y  z
1 1 2011 15
2 1 2012 15
3 2 2011 60
4 2 2011 60
5 3 2013 15
6 3 2014 15
7 4 2011 30
8 4 2012 15

因此,我正在尋找的數據幀(刪除x = 2觀察值中的哪一個無關緊要):

> df1
  x    y  z
1 1 2011 15
2 1 2012 15
3 2 2011 60
4 3 2013 15
5 3 2014 15
6 4 2011 30
7 4 2012 15

我最初的想法包括使用uniqueduplicate ,但我似乎無法理解如何在實踐中實現它。

這應該可以解決問題。 查找重復的x和y條目,其中z也大於或等於60:

df[!(duplicated(df[,1:2]) & df$z >= 60), ]
#  x    y  z
#1 1 2011 15
#2 1 2012 15
#3 2 2011 60
#5 3 2013 15
#6 3 2014 15
#7 4 2011 30
#8 4 2012 15

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM