当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R purrr list_simplify 将列表简化为原子或 S3 向量


简化维护输入和输出之间的一一对应关系,这意味着x 的每个元素必须包含一个单元素向量或one-row 数据帧。如果您不想保持这种对应关系,那么您可能需要 list_c() /list_rbind()list_flatten()

用法

list_simplify(x, ..., strict = TRUE, ptype = NULL)

参数

x

一个列表。

...

这些点用于将来的扩展,并且必须为空。

strict

如果简化失败会发生什么?如果是 TRUE ,则会出错。如果未提供FALSEptype,则将原样返回x

ptype

一个可选的原型,以确保输出类型始终相同。

x 长度相同的向量。

例子

list_simplify(list(1, 2, 3))
#> [1] 1 2 3

# Only works when vectors are length one and have compatible types:
try(list_simplify(list(1, 2, 1:3)))
#> Error in list_simplify(list(1, 2, 1:3)) : 
#>   `x[[3]]` must have size 1, not size 3.
try(list_simplify(list(1, 2, "x")))
#> Error in list_simplify(list(1, 2, "x")) : 
#>   Can't combine `<list>[[1]]` <double> and `<list>[[3]]` <character>.

# Unless you strict = FALSE, in which case you get the input back:
list_simplify(list(1, 2, 1:3), strict = FALSE)
#> [[1]]
#> [1] 1
#> 
#> [[2]]
#> [1] 2
#> 
#> [[3]]
#> [1] 1 2 3
#> 
list_simplify(list(1, 2, "x"), strict = FALSE)
#> [[1]]
#> [1] 1
#> 
#> [[2]]
#> [1] 2
#> 
#> [[3]]
#> [1] "x"
#> 
源代码:R/list-simplify.R

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Simplify a list to an atomic or S3 vector。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。