如何將“源”轉換為“結果”:
l1 <- list(list(list(item=list(category="item category",name="item name"))))
l2 <- list(
list(
list(
item=list(category="item category1",name="item name1"),
item=list(category="item category2",name="item name2")
)))
source <- tribble(
~order, ~tablePart,
1,l1,
2,l2
)
result <- tribble(
~order, ~category, ~name,
1,"item category","item name",
2,"item category1","item name1",
2,"item category2","item name2"
)
uj5u.com熱心網友回復:
由于您有一個嵌套串列列,我們可以使用flatten_dfc然后unnest:
library(dplyr)
library(purrr)
library(tidyr)
source %>%
mutate(tablePart = map(tablePart, flatten_dfc)) %>%
unnest()
order category name category...1 name...2 category...3 name...4
<dbl> <chr> <chr> <chr> <chr> <chr> <chr>
1 1 item category item name NA NA NA NA
2 2 NA NA item category1 item name1 item category2 item name2
uj5u.com熱心網友回復:
或者以 data.table 的方式
library(data.table)
source <- source %>% data.table()
source[, rbindlist(tablePart[[1]][[1]][[1]]), order]
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/356507.html
標籤:r
