参见上图。我想删除所有连续重复的条目,仅引用第3列。
首先它应该检查第1和第2行,如果第3列相同则删除第2行并检查第1和第3行,依此类推。如果连续两行的第3列不同,则不执行任何操作并增加行以检查下两行。
这是我能得到的最接近的。
for ( i in 1:2493658) { if (newcol2[i,3]== newcol2[i+1,3]) newcol3 <- newcol2[-c(i+1),] }
答案 0 :(得分:0)
df <- data.frame(Customer=1:6,
Invoice=letters[1:6],
Sales.Rep.ID=rep(c(10,20),each=3),
stringsAsFactors=F)
library(dplyr)
desired <- df %>%
mutate(dup = duplicated(Sales.Rep.ID)) %>%
filter(dup==F) %>%
select(-dup)
Customer Invoice Sales.Rep.ID
1 1 a 10
2 4 d 20
答案 1 :(得分:0)
newcol3 <- newcol2[cumsum(rle(as.numeric(newcol2[,3]))$lengths),]
newcol4 <- newcol2[cumsum(rle(as.numeric(newcol2[,3]))$lengths)- rle(as.numeric(newcol2[,3]))$lengths +1,]
第一个删除顶部重复值并保持最后一个,而第二个保持最高值并删除其余值。 这就是我想要的。 无论如何,谢谢你