簡體   English   中英

從R中的列表元素創建標題

[英]Create tibble from list elements in R

因此,我有了這個列表列表,並且在每個列表中,我都有一些元素,這些元素是長度相等的向量,並且在一個元素中具有單個值。 我想創建矢量的小標題,並將小標題存儲在列表中。

> neighbours
$p1
$p1$course_names
 [1] "X1"  "X2"  "X3"

$p1$course_capacities
 [1] 1 1 1 

$p1[[2]]
[1] 4.123106

$p2
$p2$course_names
 [1] "X1"  "X2"  "X3"

$p2$course_capacities
 [1] 1 1 1 

$p2[[2]]
[1] 4.123106

最終輸出應如下所示:

> neighbours
[[1]]
[[1]][[1]]
# A tibble: 10 x 4
   course_names course_capacities
   <chr>                    <dbl>
 1 X1                        1.00
 2 X2                        1.00
 3 X3                        1.00

[[1]][[2]]
[1] 4.123106

[[2]]
[[1]][[1]]
# A tibble: 10 x 4
   course_names course_capacities
   <chr>                    <dbl>
 1 X1                        1.00
 2 X2                        1.00
 3 X3                        1.00

[[2]][[2]]
[1] 4.123106

我想我希望使用tidyverse解決方案,因為我正在尋找小標題。 當然,我很樂意考慮任何方法。

它的結構不是很好,但是有兩種方法。 首先,我嘗試重新創建您的初始列表:

neighbours <- list(p1 = list(
                         list(course_names = c("X1","X2","X3"),
                              course_capabilities = c(1,1,1)),
                         4.123106
                         ),
               p2 = list(
                         list(course_names = c("X1","X2","X3"),
                                 course_capabilities = c(1,1,1)),
                         4.123106
                         )
)

然后使用lapply()或purrr :: map()

neighbours %>% purrr::map(~list(as_tibble(.[[1]]),.[[2]]))

要么

lapply(neighbours, function(p){
  list(as_tibble(p[[1]]), 
       p[[2]])
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM