我不确定如何说出这个问题,因为从某种意义上说,我想删除的行在技术上是重复的行,但在某些列中包含不同的数据。我确信这个问题的解决方案存在,但我无法找到它。
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函数或命令可用于从第二个表摘录中删除前三行,因为它们代表相同的结果。我的表中有几种情况具有不同的行数。理想情况下,我可以使用我可以放入源代码中的东西,因为我必须在几百个不同的文件中执行此操作。
答案 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}}