假设我有一个任意长度的向量或列,表示一些分组/因子变量,具有任意数量的组和任意值:
a <- c(2,2,2,2,2,7,7,7,7,10,10,10,10,10)
a
[1] 2 2 2 2 2 7 7 7 7 10 10 10 10 10
我怎样才能最轻松地将它变成这样:
a
[1] 1 1 1 1 1 2 2 2 2 3 3 3 3 3
最佳答案
a <- c(2,2,2,2,2,7,7,7,7,10,10,10,10,10)
c(factor(a))
#[1] 1 1 1 1 1 2 2 2 2 3 3 3 3 3
解释:
因子只是一个具有levels
属性和类属性的整数向量。 c
删除属性作为副作用。您可以使用 as.numeric
或 as.integer
代替 c
,分别获得相似或相同的结果。
关于在 R 中重新编码任意分组变量或因子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25412260/