-
list_c()
通过将元素与vctrs::vec_c()
连接在一起将元素组合成一个向量。 -
list_rbind()
通过 row-binding 将元素与vctrs::vec_rbind()
一起组合成数据帧。 -
list_cbind()
通过 column-binding 将元素与vctrs::vec_cbind()
一起组合成数据帧。
用法
list_c(x, ..., ptype = NULL)
list_cbind(
x,
...,
name_repair = c("unique", "universal", "check_unique"),
size = NULL
)
list_rbind(x, ..., names_to = rlang::zap(), ptype = NULL)
参数
- x
-
一个列表。对于
list_rbind()
和list_cbind()
,列表必须仅包含数据帧或NULL
。 - ...
-
这些点用于将来的扩展,并且必须为空。
- ptype
-
一个可选的原型,以确保输出类型始终相同。
- name_repair
-
"unique"
、"universal"
或"check_unique"
之一。有关这些选项的含义,请参阅vctrs::vec_as_names()
。 - size
-
可选的整数大小,以确保每个输入具有相同的大小(即行数)。
- names_to
-
默认情况下,
names(x)
会丢失。要保留它们,请向names_to
提供一个字符串,名称将保存到具有该名称的列中。如果提供了names_to
并且未命名x
,则将使用元素的位置而不是名称。
例子
x1 <- list(a = 1, b = 2, c = 3)
list_c(x1)
#> [1] 1 2 3
x2 <- list(
a = data.frame(x = 1:2),
b = data.frame(y = "a")
)
list_rbind(x2)
#> x y
#> 1 1 <NA>
#> 2 2 <NA>
#> 3 NA a
list_rbind(x2, names_to = "id")
#> id x y
#> 1 a 1 <NA>
#> 2 a 2 <NA>
#> 3 b NA a
list_rbind(unname(x2), names_to = "id")
#> id x y
#> 1 1 1 <NA>
#> 2 1 2 <NA>
#> 3 2 NA a
list_cbind(x2)
#> x y
#> 1 1 a
#> 2 2 a
相关用法
- R purrr list_transpose 转置列表
- R purrr list_simplify 将列表简化为原子或 S3 向量
- R purrr list_flatten 压平列表
- R purrr list_assign 修改列表
- R purrr lmap 将函数应用于列表的列表元素
- R purrr accumulate 累积向量缩减的中间结果
- R purrr imap 将函数应用于向量的每个元素及其索引
- R purrr as_vector 将列表强制转换为向量
- R purrr map_if 有条件地将函数应用于向量的每个元素
- R purrr map2 映射两个输入
- R purrr array-coercion 强制数组列出
- R purrr auto_browse 包装一个函数,以便在出错时自动 browser()
- R purrr pluck 安全地获取或设置嵌套数据结构深处的元素
- R purrr insistently 将函数转换为等待,然后在错误后重试
- R purrr map_depth 在给定深度映射/修改元素
- R purrr rerun 多次重新运行表达式
- R purrr quietly 包装一个函数来捕获副作用
- R purrr pmap 同时映射多个输入(“并行”)
- R purrr possibly 包装函数以返回值而不是错误
- R purrr head_while 查找全部满足谓词的头/尾。
- R purrr rbernoulli 从伯努利分布生成随机样本
- R purrr rate-helpers 创建延迟率设置
- R purrr keep_at 根据元素的名称/位置保留/丢弃元素
- R purrr keep 根据元素的值保留/丢弃元素
- R purrr transpose 转置列表。
注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Combine list elements into a single data structure。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。