问题描述
我正在尝试转换当代群体的编码方式。
当前,它们的字符格式为大约40个组的“ 240009T2017”,“ 240009T2018”,“ 240056P2018”,“ 240108T2016”。我想将它们重新编码为1,2,3,4,...
我从“ R:将字符变量编码为数字
”中找到了一些答案。x <- c("240009T2017","240009T2018","240056P2018","240108T2016")
dat$hyn <- match(x,unique(x))
但是我不确定如何将其转换为整个数据集。理想情况下,每当“ 240009T2017”出现在“当代”组列中时,它将转换为1。
谢谢!
解决方法
您可以使用一个因素来解决这个问题,它将处理重复的值。这里的代码:
#Data
x <- c("240009T2017","240009T2018","240056P2018","240108T2016","240009T2017")
#Conversion to factor
y <- as.numeric(as.factor(x))
输出:
x
[1] "240009T2017" "240009T2018" "240056P2018" "240108T2016" "240009T2017"
y
[1] 1 2 3 4 1