全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
5116 4
2016-10-21
有个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得出来的结果不一样???
二维码

扫码加我 拉你入群

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

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

全部回复
2016-10-21 15:39:39
nothk 发表于 2016-10-21 14:37
有个excel文档,第一列是公司名,第二列是商品代码

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

扫码加我 拉你入群

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

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

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)
二维码

扫码加我 拉你入群

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

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

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
二维码

扫码加我 拉你入群

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

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

2016-10-24 10:06:06
复制代码

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

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群