【问题标题】:How do I convert matrix columns into separate columns using dplyr?如何使用 dplyr 将矩阵列转换为单独的列?
【发布时间】:2020-08-27 10:40:37
【问题描述】:

你如何在dplyr 中“unnestmatrix 列?

例如,我可以如何处理 y 列将其拆分为 2 个单独的列?

df <- data.frame(x = 1:2)
df$y <- matrix(1:4, ncol = 2)

【问题讨论】:

    标签: r matrix dplyr


    【解决方案1】:

    最简单的选择是do.calldata.frame

    df1 <- do.call(data.frame, df)
    str(df1)
    #'data.frame':  2 obs. of  3 variables:
    # $ x  : int  1 2
    # $ y.1: int  1 2
    # $ y.2: int  3 4
    

    或者使用tidyverse,我们可以将'y'拆分为list列,然后使用unnest_wider

    library(dplyr)
    library(purrr)
    df %>%
        mutate(y = asplit(y, 2)) %>% 
        unnest_wider(c(y))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-09
      相关资源
      最近更新 更多