【发布时间】:2014-10-20 09:37:49
【问题描述】:
给定这样的数据框
Unit Anything
A 3.4
A1 2.2
A 6.9
A1 1.1
B 2
B 3
按任何东西排序,按单元分组,添加索引
Unit Anything Index
A 3.4 1
A1 2.2 2
A 6.9 2
A1 1.1 1
B 2 1
B 3 2
我知道df[order(df$Anything),] 由Anything 订购。
但我无法计数工作。我试过像
dt = data.table(df)
dt[,count := .N, by = list(Unit)]
【问题讨论】:
-
一种方法是先通过
Unit订购df,然后使用tapply,例如d$Index <- do.call(c, tapply(d$Unit, d$Unit, function(x) 1:length(x)))。 -
@parsimoni 谢谢,这运行得很快。
-
d$Index