【问题标题】:One Hot Encoding using Dummies in R在 R 中使用 Dummies 的一种热编码
【发布时间】:2017-04-13 22:49:06
【问题描述】:

需要您帮助解决我无法解释的具体问题。 以下代码

library(dummies)
columna <- c(1,2,3)
columnb <- c("AR","AT","AF")
columnc <- c("word1", "word2", "word3")
alldata <- data.frame(columna,columnb,columnc)
alldata <- dummy.data.frame(alldata, names=c("columnc"), sep="_")
alldata

给我

  columna columnb columnc_word1 columnc_word2 columnc_word3
1       1      AR             1             0             0
2       2      AT             0             1             0
3       3      AF             0             0             1

现在想想,我有

columnc <- c("word1", "word2 word3", "word3 word1")

谁能告诉我如何获得?

  columna columnb columnc_word1 columnc_word2 columnc_word3
1       1      AR             1             0             0
2       2      AT             0             1             1
3       3      AF             1             0             1

问候,

【问题讨论】:

    标签: r one-hot-encoding


    【解决方案1】:

    这是tidyverse的方式:

    library(tidyverse)
    alldata %>% 
            separate_rows(columnc) %>% mutate(count = 1) %>% 
            spread(columnc, count, fill = 0, sep = "_")
    
    #  columna columnb columnc_word1 columnc_word2 columnc_word3
    #1       1      AR             1             0             0
    #2       2      AT             0             1             1
    #3       3      AF             1             0             1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-14
      • 2017-06-04
      • 2021-12-01
      • 2018-12-17
      • 1970-01-01
      • 2016-03-19
      • 2016-11-30
      相关资源
      最近更新 更多