【发布时间】:2022-08-04 11:31:14
【问题描述】:
我的数据有几个分类特征,每条记录有多个标签,分布在多行上。
myDf <- data.frame(myGroup = c(\"A\", \"B\", \"B\", \"C\", \"C\", \"C\"),
myFruit = as.factor(c(\"apple\", \"apple\", \"banana\", \"apple\", \"lime\", \"lemon\")),
myCode = as.factor(c(\"AAA\", \"AAA\", \"CCC\", \"AAA\", \"BBB\", \"CCC\")))
myDf
myGroup myFruit myCode
A apple AAA
B apple AAA
B banana CCC
C apple AAA
C lime BBB
C lemon CCC
预期的输出如下所示:
myGroup apple banana lemon lime AAA BBB CCC
A 1 0 0 0 1 0 0
B 1 1 0 0 1 0 1
C 1 0 1 1 1 1 1
我怎样才能对这个多标签数据进行一次热编码?
我包括一个自我回答,但我怀疑有更好的方法来做到这一点。
例如。有 20 个字段需要编码,我应该使用重复 mutate/spread 20 次吗?
标签: r one-hot-encoding