r语言 - 将提布斯存储在提布斯内



我想创建一个存储其他任意 tibble 的 tibble 列。

我设法使用以下代码来做到这一点,首先在每个内部 tibble 上使用nest(),然后在外部 tibble 上使用unnest()

library(tibble)
library(tidyr)
df_outer <- tribble(
~x, ~y,
1,  2,
4,  6,
5,  7
)
df_nested <- tribble(
~a, ~b,
1,  2,
4,  6
)
df_outer[["data"]][1] <- nest(df_nested)               # Insert first tibble
df_outer[["data"]][2] <- nest(as_tibble(2*df_nested))  # Insert arbitrary other tibbles
df_outer[["data"]][3] <- nest(as_tibble(3*df_nested))
df_outer <- df_outer %>% unnest()

虽然这种方法有效,但我觉得这是错误的方法,因为我需要就结果调用unnest()。有没有更清洁的方法来实现这一点?请注意,我想一次插入一个内部 tibbles。

我们可以使用map创建一个新列

library(dplyr)
library(purrr)
df_outer %>%
mutate(data =  map(row_number(), ~ .x * df_nested))

最新更新