楼主: nothk
5171 4

[问答] 求助,R遇到一个很诡异的问题,关于dataframe删除相同行 [推广有奖]

  • 0关注
  • 0粉丝

本科生

46%

还不是VIP/贵宾

-

威望
0
论坛币
51 个
通用积分
0
学术水平
0 点
热心指数
7 点
信用等级
0 点
经验
530 点
帖子
48
精华
0
在线时间
93 小时
注册时间
2015-4-9
最后登录
2020-11-16

楼主
nothk 发表于 2016-10-21 14:37:10 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
有个excel文档,第一列是公司名,第二列是商品代码

类似
A
北京公司  10001
北京公司  10001
上海公司  10002
广州公司  10001
广州公司  10003
北京公司  10002
....

一共是11万行,有24个厂家,3万多种商品,(部分行是完全相同的),我想统计一下同一件商品有多少家公司销售,然后做一个频数分布图,

> dim(shangpin)
[1] 113824      2
> length(unique(shangpin$x))
[1] 24

> length(unique(shangpin$y))
[1] 37481

> dim(unique(shangpin))
[1] 52584     2

> dim(shangpin[!(duplicated(shangpin$x)&duplicated(shangpin$y)),])
[1] 37484     2

商品目录.jpg

我想问下,为什么dim(unique(shangpin)) 和用duplicated得出来的结果不一样???
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Dataframe Frame Fram Data FRA

沙发
scu_cxh@163.com 发表于 2016-10-21 15:39:39 来自手机
nothk 发表于 2016-10-21 14:37
有个excel文档,第一列是公司名,第二列是商品代码

类似
上述两个表达式含义是不一样的,第一个表达式与你所想要的结果相同,第二个语意是不对的。

藤椅
jameschin007 发表于 2016-10-21 15:57:11
显然你没弄懂duplicated 的用途。
你 run 一下下面这个  df。  看看这几条语句的结果,你就明白了
x <- c(rep("A", 3), rep("B", 3), rep("C",4))
y <- c(rep(2,10)
shangpin <-data.frame(x,y)

板凳
nothk 发表于 2016-10-23 13:06:45
jameschin007 发表于 2016-10-21 15:57
显然你没弄懂duplicated 的用途。
你 run 一下下面这个  df。  看看这几条语句的结果,你就明白了
x
我试了下结果没区别...

!(duplicated(shangpin$x)&duplicated(shangpin$y)) 难道不是找出shangpin中x和y都不一样的行?

多谢


uniqueduplicated.jpg

报纸
jiangbeilu 学生认证  发表于 2016-10-24 10:06:06
  1. x <- c(rep("A", 3), rep("B", 3), rep("C",4))
  2. y <- c(rep(2,10))
  3. shangpin <-data.frame(x,y)
  4. unique(shangpin)
  5. shangpin[!duplicated(shangpin),]
复制代码

duplicated直接对data.frame使用,返回的是TRUE or FALSE之类的索引。
unique一般不用于data.frame的去重,对于单个向量用unique比较合适。

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

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