我有一个包含超过200万行的CSV。其中一个名为" DEPARTMENTS"有44种不同类型的文本值。我希望用数字代替它们:
在DEPARTMENT列下的每一行显示DELI,我希望将其替换为数字1和Meat 2,依此类推。
我设法找到一些代码来识别所有唯一值和长度
unique_v <- (unique(grouped$DEPARTMENT)
length (unique_v)
结果
[1] AUTOMOTIVE CHARITABLE CONT CHEF SHOPPE CNTRL/STORE SUP
[6] COSMETICS COUP/STR & MFG DAIRY DELI DELI DELI/SNACK BAR
[11] DRUG GM ELECT &PLUMBING FLORAL FROZEN GROCERY GARDEN CENTER
[16] GM MERCH EXP GRO BAKERY GROCERY HBC HOUSEWARES
[21] KIOSK-GAS MEAT MEAT-PCKGD MEAT-WHSE MISC SALES TRAN
[26] MISC. TRANS. NUTRITION PASTRY PHARMACY SUPPLY PHOTO
[31] PORK POSTAL CENTER PROD-WHS SALES PRODUCE RESTAURANT
[36] RX SALAD BAR SEAFOOD SEAFOOD-PCKGD SPIRITS
[41] TOYS TRAVEL & LEISUR VIDEO VIDEO RENTAL
44 Levels: AUTOMOTIVE CHARITABLE CONT CHEF SHOPPE CNTRL/STORE SUP ... VIDEO RENTAL
> length(unique_v)
[1] 44
如果有人可以将我的功能命名为使用以实现这一目标,我将不胜感激。我看了一眼,却找不到多少东西。也许我在找错了地方。
答案 0 :(得分:0)
如果我们需要将“character”元素转换为“numeric”,一个选项是转换为“factor”类,指定levels
然后通过as.numeric
强制为“numeric” 。在具体示例中,如果我们需要用“numeric”元素替换“旧”列元素
groupedData$DEPARTMENT <- as.numeric(factor(groupedData$DEPARTMENT,
levels=sort(unique(grouped$DEPARTMENT))))
然后,我们可以使用write.csv