【发布时间】:2015-07-03 21:30:14
【问题描述】:
我有以下数据框:
help <- data.frame(id = c(5,5,5,5,5,12,12,12,17,17,20,20,20,20,20,20),
number = c(1,2,3,4,5,1,2,3,1,2,1,2,3,4,5,6),
episode = c(1,1,1,2,2,1,1,1,1,1,1,1,1,2,2,3))
id number episode
1 5 1 1
2 5 2 1
3 5 3 1
4 5 4 2
5 5 5 2
6 12 1 1
7 12 2 1
8 12 3 1
9 17 1 1
10 17 2 1
11 20 1 1
12 20 2 1
13 20 3 1
14 20 4 2
15 20 5 2
16 20 6 3
对于每个 id,我有许多观察变量 number,但也希望在每一集中都有一个唯一的计数。
我希望 df 看起来像
id number episode number.ep
1 5 1 1 1
2 5 2 1 2
3 5 3 1 3
4 5 4 2 1
5 5 5 2 2
6 12 1 1 1
7 12 2 1 2
8 12 3 1 3
9 17 1 1 1
10 17 2 1 2
11 20 1 1 1
12 20 2 1 2
13 20 3 1 3
14 20 4 2 1
15 20 5 2 2
16 20 6 3 1
在使用 group_by(id) 后,我在 mutate 命令中遇到了错误。有什么建议么?
【问题讨论】:
-
你运行了什么代码?你到底得到了什么错误?
-
我试过
group_by(id) %>% mutate(number.ep = count(n))),其中许多不同变体的错误是Error: no applicable method for 'group_by_' applied to an object of class "c('integer', 'numer')" -
有趣,这种操作的具体用例是什么?我看到一个新的剧集号如何触发索引的重新启动,或者你称之为计数变量。这个逻辑到底解决了什么应用?
-
我试图通过 id 和剧集编号来分组...但得到了同样的错误。不确定这是否能回答您的问题。