删除R中与其他行类似的行

时间:2018-05-29 04:25:49

标签: r rows

我不确定如何说出这个问题,因为从某种意义上说,我想删除的行在技术上是重复的行,但在某些列中包含不同的数据。我确信这个问题的解决方案存在,但我无法找到它。

      inning outs balls strikes pitchSeq   batter    eventNum
101      6    2     0       2        F    sandp001      49     
102      6    2     0       2        F    sandp001      49      
104      6    2     0       2        B    sandp001      49 


      inning outs balls strikes pitchSeq   batter   eventNum
105      6    2     2       2        F    sandp001      50  
106      6    2     2       2        F    sandp001      50  
108      6    2     2       2        B    sandp001      50  
110      6    2     2       2        B    sandp001      50  
111      6    2     2       2        S    sandp001      50  

还有大约90个其他列具有相关信息,但我想知道是否有一个通用的R函数或命令可用于从第二个表摘录中删除前三行,因为它们代表相同的结果。我的表中有几种情况具有不同的行数。理想情况下,我可以使用我可以放入源代码中的东西,因为我必须在几百个不同的文件中执行此操作。

1 个答案:

答案 0 :(得分:0)

使用library(dplyr) dat <- bind_rows(mtcars[1, ], head(mtcars)) #creating a small data frame with a duplicate row dat mpg cyl disp hp drat wt qsec vs am gear carb 1 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 2 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 3 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 4 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 5 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 6 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 7 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 功能删除重复项。这是一个例子:

unique()

前两行 dat 是重复的。使用unique(dat) mpg cyl disp hp drat wt qsec vs am gear carb 1 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 2 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 3 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 4 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 5 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 6 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 删除重复的行。

unique(dat[, -c("hp", "vs)])

您可以进一步指定要查看的唯一列。

例如,{{1}}