>test<-c(21,22,22,23,22,23,24)
>duplicated(test)
[1] FALSE FALSE TRUE FALSE TRUE TRUE FALSE
看得出duplicated()给出的是判断坐标:首次出现的22,函数给的值是F,但再次出现就成T了。
>indicator<-duplicated(test)
>table(test[indicator])
22 23
2 1
这是重复出现了几次(不包括首次)
所以你要的加1就行了。
>table(test[indicator])+1
22 23
3 2
R语言第二章数据处理③删除重复数据果子学生信
1.保留第一个重复: A,A,B,C --->A,B,C
2.去掉所有重复:A,A,B,C --->B,C
一般情况函数默认都是保留第一个重复。
比如:
在R中识别和删除重复数据:
主要运用 dplyr::n()
do包中的duplicate()命令和duplicated()命令的主要区别是前者包含了所有重复项,后者不包含重复的第一项。
duplicate()命令在开发版的do包中,CRAN上的do包并不包含这一命令。
安装方法是devtools:install_github("yikeshu0611/do")
去掉所有重复最简洁函数: df %>% group_by(a) %>% filter(n()==1)