我有一个数据框中的一列包含一些字符和一个因子向量。我想为每个值组分配一个因子,以便第一组字符获得第一个因子,第二组获得第二个因子等。
数据框的列 + 因子向量:
df$charac:
数据框的列 + 因子向量:
df$charac:
charac
1 0
2 0
3 0
4 1
5 1
6 2
7 2
8 2
9 3
10 4
11 4
12 4
vec_factor
:
[1] 39 42 76 89 68
Levels: 39 42 68 76 89
预期结果:
charac factor
1 0 39
2 0 39
3 0 39
4 1 42
5 1 42
6 2 76
7 2 76
8 2 76
9 3 89
10 4 68
11 4 68
12 4 68
数据:
因素向量:
structure(c(1L, 2L, 4L, 5L, 3L), .Label = c("39", "42", "68",
"76", "89"), class = "factor")
字符列:
structure(list(test_vector = c("0", "0", "0", "1", "1", "2",
"2", "2", "3", "4", "4", "4")), .Names = "test_vector", row.names = c(NA,
-12L), class = "data.frame")
fac
,数据框是char
,你可以尝试使用char$fac <- fac[as.numeric(as.factor(char$test_vector))]
。 - ikopas.numeric()
不是必要的。 - Omlere