Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从R中的列表元素创建TIBLE_R_Tidyverse_Tibble - Fatal编程技术网

从R中的列表元素创建TIBLE

从R中的列表元素创建TIBLE,r,tidyverse,tibble,R,Tidyverse,Tibble,所以我有这个列表,在每个列表中我有元素,它们是长度相等的向量,一个元素中只有一个值。我想创建一个向量的tibble,并将该tibble存储在列表中 > 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_cap

所以我有这个列表,在每个列表中我有元素,它们是长度相等的向量,一个元素中只有一个值。我想创建一个向量的tibble,并将该tibble存储在列表中

> 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
>邻居
[[1]]
[[1]][[1]]
#一个tibble:10x4
课程名称课程容量
1 X1 1.00
2×1.00
3×3 1.00
[[1]][[2]]
[1] 4.123106
[[2]]
[[1]][[1]]
#一个tibble:10x4
课程名称课程容量
1 X1 1.00
2×1.00
3×3 1.00
[[2]][[2]]
[1] 4.123106

我想我更喜欢tidyverse解决方案,因为我正在寻找tibbles。当然,我很乐意考虑任何方法。

< P>它不是一个伟大的结构,但有两种方式。首先,我尝试重新创建您的初始列表:

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
                         )
)

neighbours %>% purrr::map(~list(as_tibble(.[[1]]),.[[2]]))
lapply(neighbours, function(p){
  list(as_tibble(p[[1]]), 
       p[[2]])
})