2

我想扩展以下数据框

d <- data.frame(a = c(rep("A",5),rep("B",5),rep("C",3),rep("D",2)))

> d
   a
1  A
2  A
3  A
4  A
5  A
6  B
7  B
8  B
9  B
10 B
11 C
12 C
13 C
14 D
15 D

所以有一列 b 看起来像:

> d
   a b
1  A 1
2  A 1
3  A 1
4  A 1
5  A 1
6  B 2 
7  B 2 
8  B 2
9  B 2
10 B 2
11 C 3
12 C 3
13 C 3
14 D 4
15 D 4

不太确定如何实现这一点。

4

2 回答 2

3

使用匹配:

match(d$a, unique(d$a))
于 2012-11-20T14:08:33.587 回答
2
d$b <- as.integer(factor(d$a, levels=unique(d$a)))
于 2012-11-20T14:05:03.460 回答