虛列我想創建一個虛擬numeric
柱與存在character
列映射1-1運行correlation
[R data.table創建該地圖存在的列
我的表是這樣的:
Code
US
UK
VN
US
VN
UK
我希望能有新的列dummy
這US, UK, VN
到1, 2, 3
Code dummy
US 1
UK 2
VN 3
US 1
VN 3
UK 2
希望地圖, meone可以幫助!
虛列我想創建一個虛擬numeric
柱與存在character
列映射1-1運行correlation
[R data.table創建該地圖存在的列
我的表是這樣的:
Code
US
UK
VN
US
VN
UK
我希望能有新的列dummy
這US, UK, VN
到1, 2, 3
Code dummy
US 1
UK 2
VN 3
US 1
VN 3
UK 2
希望地圖, meone可以幫助!
這可以或者通過Code
柱規定爲Code
的unique
元件levels
轉換爲factor
類和將其轉換回numeric
和分配(:=
)到dummy
library(data.table)
DT[, dummy:=as.numeric(factor(Code, levels=unique(Code)))][]
# Code dummy
#1: US 1
#2: UK 2
#3: VN 3
#4: US 1
#5: VN 3
#6: UK 2
或者使用match
'代碼'與unique
元素之間'代碼'
DT[, dummy:= match(Code, unique(Code))]
或者chmatch
從data.table
DT[, dummy:= chmatch(Code, unique(Code))]
我檢查了2個方法,我發現'match'方法好得多 – 2015-04-06 11:24:58
或者你可以簡單地使用內置的.GRP
功能
DT[, dummy := .GRP, by = Code][]
# Code dummy
# 1: US 1
# 2: UK 2
# 3: VN 3
# 4: US 1
# 5: VN 3
# 6: UK 2
那你試試?解釋代碼的一部分。所以這裏的人們可以知道你沒有得到結果的地方。 – 2015-04-06 10:45:00