【问题标题】:R Convert column of lists into binary columnsR将列表列转换为二进制列
【发布时间】:2023-02-03 14:19:50
【问题描述】:

我有一个 R 数据框,其中有一列看起来像这样

codes
111:222:333
222
111:222

我想将 codes 列扩展为单独的二进制列,如下所示:

111 222 333
1   1   1
0   1   0
1   1   0

我尝试使用 strsplit 将 codes 列转换为字符列表。然后,我取消嵌套 codes 列并想执行 pivot_wider,但似乎我无法对具有重复标识列的列执行此操作。

df <- df %>% 
  mutate(codes = strsplit(codes, ":", TRUE))
  unnest(codes) %>%
  mutate(value = 1) %>%
  pivot_wider(names_from = codes,
                         values_from = value,
                         values_fill = 0)

任何有关如何处理此问题的建议将不胜感激!

【问题讨论】:

    标签: r dataframe dplyr


    【解决方案1】:

    我们可以使用来自 fastDummies 的 dummy_cols

    library(fastDummies)
    dummy_cols(df1, "codes", split = ":", remove_selected_columns = TRUE)
    

    【讨论】:

      猜你喜欢
      • 2021-07-12
      • 1970-01-01
      • 2018-10-26
      • 2015-05-13
      • 2022-01-20
      • 2016-12-20
      • 2012-10-16
      • 2014-10-12
      • 1970-01-01
      相关资源
      最近更新 更多