R 在库中存储库
我想创建一个tibble列来存储其他任意tibble 我已经通过以下代码实现了这一点,首先在每个内部tibble上使用R 在库中存储库,r,tidyr,R,Tidyr,我想创建一个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[["
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()
库(TIBLE)
图书馆(tidyr)
df_outer我们可以使用map
创建一个新列
library(dplyr)
library(purrr)
df_outer %>%
mutate(data = map(row_number(), ~ .x * df_nested))
对不起,应该是df_outer
。你能检查一下我在下面发布的解决方案吗。在您的解决方案中,您可能需要两次unest
,因为它是一个嵌套列表,但在我的解决方案中,只有一次需要您的响应。这将创建与上面相同的data.frame。然而,在我试图编写的代码中,我并不是一次就拥有所有可用的tibble,因为我是从数据库接收它们的。唯一干净的解决方案是将它们放在列表中累积,然后使用mutate
将它们插入外部TIBLE吗?或者是否可以一次直接将其插入外部TIBLE中?@MattSteadman如果是这种情况,请在收到数据后立即更新for
循环中的列表。我不清楚在你的情况下整个infra是如何运作的