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