當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R tibble lst 建立一個清單


lst() 構造一個列表,類似於 base::list() ,但具有一些與 tibble() 相同的函數。 lst() 按順序構建組件。定義組件時,您可以引用之前在調用中創建的組件。 lst() 還會自動生成缺失的名稱。

請參閱 rlang::list2() 以獲得更簡單、更快的替代方案,無需 tibble 的求值和自動命名語義。

用法

lst(...)

參數

...

< dynamic-dots > 一組name-value 對。這些參數使用 rlang::quos() 進行處理,並支持通過 !! 取消引用和通過 !!! 取消引用拚接。使用 := 創建以點開頭的列。

參數按順序進行評估。您可以直接引用先前創建的元素或使用 .data 代詞。要顯式引用調用環境中的對象,請使用 !! 或 .env,例如!!.data.env$.data 用於名為 .data 的對象的特殊情況。

一個命名列表。

例子

# the value of n can be used immediately in the definition of x
lst(n = 5, x = runif(n))
#> $n
#> [1] 5
#> 
#> $x
#> [1] 0.2220037 0.1208247 0.5305426 0.7951219 0.3532806
#> 

# missing names are constructed from user's input
lst(1:3, z = letters[4:6], runif(3))
#> $`1:3`
#> [1] 1 2 3
#> 
#> $z
#> [1] "d" "e" "f"
#> 
#> $`runif(3)`
#> [1] 0.9371862 0.6326068 0.6565604
#> 

a <- 1:3
b <- letters[4:6]
lst(a, b)
#> $a
#> [1] 1 2 3
#> 
#> $b
#> [1] "d" "e" "f"
#> 

# pre-formed quoted expressions can be used with lst() and then
# unquoted (with !!) or unquoted and spliced (with !!!)
n1 <- 2
n2 <- 3
n_stuff <- quote(n1 + n2)
x_stuff <- quote(seq_len(n))
lst(!!!list(n = n_stuff, x = x_stuff))
#> $n
#> [1] 5
#> 
#> $x
#> [1] 1 2 3 4 5
#> 
lst(n = !!n_stuff, x = !!x_stuff)
#> $n
#> [1] 5
#> 
#> $x
#> [1] 1 2 3 4 5
#> 
lst(n = 4, x = !!x_stuff)
#> $n
#> [1] 4
#> 
#> $x
#> [1] 1 2 3 4
#> 
lst(!!!list(n = 2, x = x_stuff))
#> $n
#> [1] 2
#> 
#> $x
#> [1] 1 2
#> 
源代碼:R/lst.R

相關用法


注:本文由純淨天空篩選整理自Kirill Müller等大神的英文原創作品 Build a list。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。