【发布时间】:2017-06-08 17:38:46
【问题描述】:
在 R 中的数据框或 data.table 中跨多个列计算组索引(组标识符)的最有效方法是什么?
例如,在下面的数据框中,A 列和 B 列有六种唯一组合。
DF <- data.frame(a = rep(1:2,6), b = sort(letters[1:3]))
> DF
a b
1 1 a
2 2 b
3 1 c
4 2 a
5 1 b
6 2 c
7 1 a
8 2 b
9 1 c
10 2 a
11 1 b
12 2 c
我想添加带有组标识符的列“索引”,就像由此产生的那样(对于大型数据帧显然效率低下):
DF$index <- with(DF, as.numeric(factor(paste0(a, b))))
> DF
a b index
1 1 a 1
2 2 b 5
3 1 c 3
4 2 a 4
5 1 b 2
6 2 c 6
7 1 a 1
8 2 b 5
9 1 c 3
10 2 a 4
11 1 b 2
12 2 c 6
对于非常大的数据帧,最快的方法是什么?
【问题讨论】:
-
对于非常大的数据使用
data.tablestackoverflow.com/tags/data.table/info
标签: r