我有兩個data.tables,dt
是漫長的,在範圍爲1 ... 5的整數列levels
,和另一個data.table「標籤」包含標籤以簡單的形式是這樣的:如何從另一個data.table中重命名R data.table中的級別?
labels <- data.table(V1=1:5, V2=c("Very Low", "Low", "Median", "High", "Very High"))
# V1 V2
# 1: 1 Very Low
# 2: 2 Low
# 3: 3 Median
# 4: 4 High
# 5: 5 Very High
實際dt
是相當大的,但是對於重複性簡單的人會做(儘管在現實DT水平不是常規):
dt <- data.table(levels=rep(1:5, times=10))
我怎麼能在dt
與字符標籤的替代水平列從labels
一個去?
我可以手動循環做到這一點,我也可以通過添加另一列,這樣做(醜陋!):
dt[, tmp := labels$V2[dt$level] ]
,然後刪除列level
和重命名tmp
。
有沒有一個很好的data.table方法來做到這一點?
@hfty請參閱更新 –