【发布时间】:2020-08-27 10:40:37
【问题描述】:
你如何在dplyr 中“unnest”matrix 列?
例如,我可以如何处理 y 列将其拆分为 2 个单独的列?
df <- data.frame(x = 1:2)
df$y <- matrix(1:4, ncol = 2)
【问题讨论】:
你如何在dplyr 中“unnest”matrix 列?
例如,我可以如何处理 y 列将其拆分为 2 个单独的列?
df <- data.frame(x = 1:2)
df$y <- matrix(1:4, ncol = 2)
【问题讨论】:
最简单的选择是do.call 和data.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))
【讨论】: