楼主: ㄣ雨珩碸啉
19355 11

[问答] R语言统计一行里面重复的次数 [推广有奖]

  • 0关注
  • 0粉丝

高中生

52%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
135 点
帖子
21
精华
0
在线时间
27 小时
注册时间
2012-8-15
最后登录
2017-3-20

楼主
ㄣ雨珩碸啉 发表于 2016-8-10 16:07:44 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
下图是我的数据,现在我需要统计机构重复的次数,比如122900重复4次,并且重复次数和前面的群组长度比较,相同就是TREU,不同就是FALSE。
下面图中的数据都是TRUE,但是如果其中一条数据变成   4   122900 111111 122900 122900 ,那么重复次数是3,就是FALESE。这个功能在excel可以用countif实现,求大神指教在R里如何实现

1.png
二维码

扫码加我 拉你入群

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

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

关键词:语言统计 R语言 COUNTIF Count EXCEL excel 统计 机构 如何

沙发
bbslover 在职认证  发表于 2016-8-10 20:30:49
假如D是你的数据,tD = t(D),看看能不能得到启发
  1. tD
  2.   [,1] [,2] [,3] [,4]
  3. a    1    1    2    1
  4. b    1    2    3    4
  5. c    1    2    3    4
  6. > apply(tD, 2, duplicated)
  7.       [,1]  [,2]  [,3]  [,4]
  8. [1,] FALSE FALSE FALSE FALSE
  9. [2,]  TRUE FALSE FALSE FALSE
  10. [3,]  TRUE  TRUE  TRUE  TRUE
  11. > D
  12.    a b c
  13. 1: 1 1 1
  14. 2: 1 2 2
  15. 3: 2 3 3
  16. 4: 1 4 4
  17. > N = apply(tD, 2, duplicated)
  18. > N
  19.       [,1]  [,2]  [,3]  [,4]
  20. [1,] FALSE FALSE FALSE FALSE
  21. [2,]  TRUE FALSE FALSE FALSE
  22. [3,]  TRUE  TRUE  TRUE  TRUE
  23. >
  24. > apply(N, 2, sum)
  25. [1] 2 1 1 1
  26. > S = apply(N, 2, sum)
  27. > S
  28. [1] 2 1 1 1
  29. > S = S + 1
  30. > S
  31. [1] 3 2 2 2
  32. > duplicated(S)
  33. [1] FALSE FALSE  TRUE  TRUE
复制代码

藤椅
zerofung 学生认证  发表于 2016-8-10 22:01:18
仅按个人理解
apply(df,1,function(x) sum(duplicated(x))+1==x[1])
就可以完成了
但建议把最复杂的一些特例给出,不然很难理解题目,以及检验到底实现目的了没。
例如 4 111111 111111 111111 111111算不算TRUE?

板凳
ㄣ雨珩碸啉 发表于 2016-8-11 08:58:54
zerofung 发表于 2016-8-10 22:01
仅按个人理解
apply(df,1,function(x) sum(duplicated(x))+1==x[1])
就可以完成了
算的 。。。。。。。。。。。。。。。。

报纸
ㄣ雨珩碸啉 发表于 2016-8-11 10:25:26
bbslover 发表于 2016-8-10 20:30
假如D是你的数据,tD = t(D),看看能不能得到启发
我是要按行来的,而且数据是字符,apply能用吗?

地板
ㄣ雨珩碸啉 发表于 2016-8-11 10:25:28
bbslover 发表于 2016-8-10 20:30
假如D是你的数据,tD = t(D),看看能不能得到启发
我是要按行来的,而且数据是字符,apply能用吗?

7
zerofung 学生认证  发表于 2016-8-11 10:57:10
ㄣ雨珩碸啉 发表于 2016-8-11 10:25
我是要按行来的,而且数据是字符,apply能用吗?
能,你把你截图的数据做成一个叫df的dataframe,然后用我上面的代码跑一遍就知道了

8
ㄣ雨珩碸啉 发表于 2016-8-11 11:25:41
zerofung 发表于 2016-8-11 10:57
能,你把你截图的数据做成一个叫df的dataframe,然后用我上面的代码跑一遍就知道了
大神,如果我一行里 111111 111111 123456 123456 NA NA NA,后面有三个缺失值,这种情况下统计出来就有问题,该如何处理呢

9
zerofung 学生认证  发表于 2016-8-11 11:56:38
ㄣ雨珩碸啉 发表于 2016-8-11 11:25
大神,如果我一行里 111111 111111 123456 123456 NA NA NA,后面有三个缺失值,这种情况下统计出来就有问 ...
所以说你没有把最复杂的特例给出嘛。。。。。缺失值你希望怎么处理?3 111111 111111 123456 123456 NA NA NA 算不算TRUE?反正方法是类似的,查询一下apply怎么用,后面的就看你究竟有什么需求了。

10
ㄣ雨珩碸啉 发表于 2016-8-11 12:01:46
zerofung 发表于 2016-8-11 11:56
所以说你没有把最复杂的特例给出嘛。。。。。缺失值你希望怎么处理?3 111111 111111 123456 123456 NA N ...
缺失值能不计入判断吗

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

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