在 R 中重新编码任意分组变量或因子

标签 r recode

假设我有一个任意长度的向量或列,表示一些分组/因子变量,具有任意数量的组和任意值:

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.numericas.integer 代替 c,分别获得相似或相同的结果。

关于在 R 中重新编码任意分组变量或因子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25412260/

相关文章:

r - 如何围绕模型估计手动绘制 SE/CI

r - 在ggplot中对Y轴上的不完整数值字符串进行排序

根据条件 (`if` ) 语句替换数据框中的值

将日期重新编码为主题内的学习日

r - 获取每行最频繁的值并说明关系

r - 测量 R 中的保留

r - 如何在 ggplot2 中自动突出显示 x 轴的多个部分?

R:是否有与 Stata 的 codebookout 命令等效的命令?

使用 dplyr (R) 根据查找表重新编码值