這些函數在 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。