我有一个大数据表(大约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&LT; -data.table(复制(1,样品(1:6,10000,代表= TRUE)))
标签及LT; -C(&#34; Altima的&#34;&#34;最大值&#34;&#34; SENTRA&#34;&#34;是&#34;&#34; GS&#34 ;, &#34; LS&#34)
答案 0 :(得分:2)
我认为你不需要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开始。
答案 1 :(得分:0)
你可以尝试以下列方式使用factor() - 为我的测试数据工作。假设mydata中第一列的名称是V1(默认值)
mydata$V1 <- factor(mydata$V1, labels=models)