这些函数在 purrr 1.0.0 中被 list_simplify()
取代,它基于 vctr 原则具有更一致的语义:
-
as_vector(x)
现在是list_simplify(x)
-
simplify(x)
现在是list_simplify(x, strict = FALSE)
-
simplify_all(x)
是map(x, list_simplify, strict = FALSE)
被取代的函数不会消失,但只会收到关键的错误修复。
参数
- .x
-
向量列表
- .type
-
可以是指定要连接的向量的类型和长度的向量模具,例如
numeric(1)
或integer(4)
。或者,它可以是说明类型的字符串,其中之一:"logical"、"integer"、"double"、"complex"、"character" 或 "raw"。
例子
# was
as.list(letters) |> as_vector("character")
#> [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q"
#> [18] "r" "s" "t" "u" "v" "w" "x" "y" "z"
# now
as.list(letters) |> list_simplify(ptype = character())
#> [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q"
#> [18] "r" "s" "t" "u" "v" "w" "x" "y" "z"
# was:
list(1:2, 3:4, 5:6) |> as_vector(integer(2))
#> [1] 1 2 3 4 5 6
# now:
list(1:2, 3:4, 5:6) |> list_c(ptype = integer())
#> [1] 1 2 3 4 5 6
相关用法
- R purrr as_mapper 将对象转换为映射器函数
- R purrr accumulate 累积向量缩减的中间结果
- R purrr array-coercion 强制数组列出
- R purrr auto_browse 包装一个函数,以便在出错时自动 browser()
- R purrr attr_getter 创建属性 getter 函数
- R purrr imap 将函数应用于向量的每个元素及其索引
- R purrr list_transpose 转置列表
- R purrr map_if 有条件地将函数应用于向量的每个元素
- R purrr map2 映射两个输入
- R purrr pluck 安全地获取或设置嵌套数据结构深处的元素
- R purrr insistently 将函数转换为等待,然后在错误后重试
- R purrr map_depth 在给定深度映射/修改元素
- R purrr list_simplify 将列表简化为原子或 S3 向量
- R purrr rerun 多次重新运行表达式
- R purrr quietly 包装一个函数来捕获副作用
- R purrr list_flatten 压平列表
- 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 转置列表。
- R purrr flatten 将列表的列表展平为简单的向量
注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Coerce a list to a vector。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。