楼主: yilence
6491 11

[问答] 去除一列数据中出现次数只有一次的数据 [推广有奖]

11
李鑫ltx 学生认证  发表于 2018-3-29 20:29:55
ofzhengyi 发表于 2015-4-5 15:44
用dplyr包实现比较简单。
library(dplyr)
dat %>% group_by(name) %>% mutate(count=n()) %>% filter(n>1 ...
看了您的回答收获很多,我想请问的是,count是计数函数,count=n()我不太清楚是什么意思,百度也没有找到。您可以解答一下吗?然后我套用的这段代码,想要处理的是删掉出现过两次及以上的id,最后更改filter里的n为count代码方能运行。请问是为什么,望赐教!感谢!

12
swufeyumeng 在职认证  发表于 2018-3-30 16:48:59
  1. df<-data.frame(name=c(1,1,2,3,3),score=c(2,2,3,2,4))
  2. freq_name<-as.data.frame(table(df$name))
  3. df<-merge(df,freq_name,by.x='name',by.y='Var1')
  4. df<-subset(df,Freq>1)[,-3]
复制代码
办法很多,就像大家讨论的,可以用R自带的函数,可以用dplyr,或者写个循环,简单粗暴。但是,能用现成轮子解决的问题,就尽量不要自己造轮子。上面的方法跟藤椅@zxn2011的思路一样,涉及的关键函数有table(统计频数),merge(数据框合并),subset(按条件筛选数据框)。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 17:21