我有data table[1000+, 4]
。
其中一列有5 levels
,我希望将这5个级别分为5个新列。
有什么建议吗?
答案 0 :(得分:0)
我们从感兴趣的列中提取levels
(' ColN'),转换为list
并将其分配给五个新的'列。
df1[paste0("new", 1:5)] <- as.list(levels(df1$ColN))
head(df1,2)
# ColN Col2 Col3 new1 new2 new3 new4 new5
#1 C 7 a A B C D E
#2 A 4 b A B C D E
levels(df1$ColN)
#[1] "A" "B" "C" "D" "E"
数据
set.seed(48)
df1 <- data.frame(ColN= sample(LETTERS[1:5], 10,
replace=TRUE), Col2= sample(10), Col3= letters[1:10])