在data.table中使用gsub()

亚历克斯·科斯(Alex Kors)

我有一个大数据表(约20,000行)。它的一列包含1到6之间的整数。

我也有汽车模型(6个模型)的特征向量。

我正在尝试用相应的汽车模型替换整数。(在此示例中为2)

 gsub("1",paste0(labels[1]),Models)
 gsub("2",paste0(labels[2]),Models) 
 ...  

“模型”是列的名称。

labels <- c("Altima","Maxima")

与它战斗了12个多小时后,gsub()无法正常工作(

样本数据:
mydata <-data.table(replicate(1,sample(1:6,10000,rep = TRUE)))标签<-c(“ altima”,“ maxima”,“ sentra”,“ is”,“ gs“,” ls“)

弗里克先生

我认为您不需要gsub在这里。您所描述的是一个因子变量。

如果你的数据是

mydata <- data.table(replicate(1,sample(1:6,1000,rep=TRUE)))
models <- c("altima","maxima","sentra","is","gs","ls")

你可以做

mydata[[1]] <- factor(mydata[[1]], levels=seq_along(models), labels=models)

如果您真的想要一个角色而不是一个因素,那么

mydata[[1]] <- models[ mydata[[1]] ]

也可以解决问题。这两个都要求数字是连续的,并且从1开始。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章