楼主: BurgessQ
10874 8

[问答] R语言进行分组计数 [推广有奖]

  • 0关注
  • 0粉丝

初中生

33%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
164 点
帖子
11
精华
0
在线时间
11 小时
注册时间
2015-4-3
最后登录
2019-2-15

楼主
BurgessQ 发表于 2016-11-8 16:39:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位大神,R中如何按组进行计数啊,新的group从1开始计数。
group

dat

希望产生新列

group1

A

1

group1

B

2

group1

C

3

group1

D

4

group2

E

1

group2

F

2

group2

G

3

group2

H

4

group2

I

5

group2

J

6

group3

K

1

group3

L

2

group3

M

3

group3

N

4


二维码

扫码加我 拉你入群

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

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

关键词:R语言 Group upd P2F PDA 如何

回帖推荐

cheetahfly 发表于7楼  查看完整内容

沙发
jinkelazzz 发表于 2016-11-8 16:45:37
把group当成因子来计数

藤椅
BurgessQ 发表于 2016-11-8 17:04:27
jinkelazzz 发表于 2016-11-8 16:45
把group当成因子来计数
方便附上一些代码吗?多谢~

板凳
BurgessQ 发表于 2016-11-8 17:35:19
jinkelazzz 发表于 2016-11-8 16:45
把group当成因子来计数
我实现了,但是需要因子个数次循环,不知是否有更好的想法,感激不尽~

报纸
不懂不装懂 发表于 2016-11-8 18:33:27
复制代码
  1. > aa
  2.     group dat
  3. 1  group1   A
  4. 2  group1   B
  5. 3  group1   C
  6. 4  group1   D
  7. 5  group2   E
  8. 6  group2   F
  9. 7  group2   G
  10. 8  group2   H
  11. 9  group2   I
  12. 10 group2   J
  13. 11 group3   K
  14. 12 group3   L
  15. 13 group3   M
  16. 14 group3   N
  17. > aa$c<-c(1:table(aa$group)[1],1:table(aa$group)[2],1:table(aa$group)[3])
  18. > aa
  19.     group dat c
  20. 1  group1   A 1
  21. 2  group1   B 2
  22. 3  group1   C 3
  23. 4  group1   D 4
  24. 5  group2   E 1
  25. 6  group2   F 2
  26. 7  group2   G 3
  27. 8  group2   H 4
  28. 9  group2   I 5
  29. 10 group2   J 6
  30. 11 group3   K 1
  31. 12 group3   L 2
  32. 13 group3   M 3
  33. 14 group3   N 4
复制代码
为什么符号$不能显示

地板
BurgessQ 发表于 2016-11-8 22:05:00
不懂不装懂 发表于 2016-11-8 18:33
为什么符号$不能显示
  1. > data
  2.     group dat
  3. 1  group1   A
  4. 2  group1   B
  5. 3  group1   C
  6. 4  group1   D
  7. 5  group2   E
  8. 6  group2   F
  9. 7  group2   G
  10. 8  group2   H
  11. 9  group2   I
  12. 10 group2   J
  13. 11 group3   K
  14. 12 group3   L
  15. 13 group3   M
  16. 14 group3   N
  17. > R1 <- dim(table(factor(data$group)))
  18. > d <- c(0)
  19. > for(i in 1:R1){
  20. +   d <- c(d,c(1:table(factor(data$group))[i]))
  21. + }
  22. > d <- d[-1]
  23. > data$N <- data.frame(d)
  24. > data
  25.     group dat d
  26. 1  group1   A 1
  27. 2  group1   B 2
  28. 3  group1   C 3
  29. 4  group1   D 4
  30. 5  group2   E 1
  31. 6  group2   F 2
  32. 7  group2   G 3
  33. 8  group2   H 4
  34. 9  group2   I 5
  35. 10 group2   J 6
  36. 11 group3   K 1
  37. 12 group3   L 2
  38. 13 group3   M 3
  39. 14 group3   N 4
复制代码
如有有多个的话我是这样循环实现的,但是需要用到因子个数次循环,数据量较大时循环会比较慢,不知各位是否有更好的方法?

7
cheetahfly 在职认证  发表于 2016-11-9 08:09:33
  1. library(dplyr)
  2. mydata %>% tbl_df() %>% group_by(group) %>% mutate(new_col =  row_number())
复制代码
已有 1 人评分经验 收起 理由
李会超 + 60 精彩帖子

总评分: 经验 + 60   查看全部评分

8
BurgessQ 发表于 2016-11-9 14:04:32
cheetahfly 发表于 2016-11-9 08:09
厉害,就是这个feel

9
BurgessQ 发表于 2016-11-9 14:04:32
cheetahfly 发表于 2016-11-9 08:09
厉害,就是这个feel

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-20 07:40