推 criky: 學了一招rle 謝謝! 09/21 15:07
→ criky: 再請問,我用 tmp$values=1:length(tmp$lengths) 09/21 15:52
→ criky: 為什麼值沒有任何改變啊? 我原本是想要算各流水號的累積n 09/21 15:52
不太懂,麻煩問題描述清楚一點,謝謝~
→ criky: 問題我描述在自己的文章了 09/21 16:33
→ criky: 第二行想問的是輸入後 tmp值和原來的一樣 覺得奇怪 09/21 16:33
do.call(c, sapply(tmp$lengths, function(x) 1:x))
# 1 2 1 2 3 1 2 3 1 2 1
→ criky: 感謝! 09/21 16:45
推 criky: 再請問,若id是文字串,好像就不能用前一篇文章的寫法了? 09/23 12:01
→ criky: 編流水號的部分 09/23 12:01
直接改成用factor就好
library(dplyr)
library(data.table)
library(magrittr)
id_ = c("1122", "1122", "1133", "1133", "1133", "2255", "2255", "2255",
"2255", "4444", "4444", "5555")
dat = data.table(id = id_)
dat %>% mutate(id2 = as.integer(factor(id))) %>% group_by(id) %>%
mutate(id3 = 1:length(id2))
id id2 id3
1 1122 1 1
2 1122 1 2
3 1133 2 1
4 1133 2 2
5 1133 2 3
6 2255 3 1
7 2255 3 2
8 2255 3 3
9 2255 3 4
10 4444 4 1
11 4444 4 2
12 5555 5 1
※ 編輯: celestialgod (140.109.73.190), 10/06/2015 12:10:13
※ 編輯: celestialgod (140.109.73.190), 10/07/2015 16:24:41