簡體   English   中英

有沒有辦法 append 到每個向量元素與列表元素的各自名稱?

[英]Is there a way to append to each vector element with the respective name of list element?

這是我的向量列表。

j = list(x = c('apple', 'avocado'), y = c('banana', 'beetroot'))

這是j的內容。

$x
[1] "apple"   "avocado"

$y
[1] "banana"   "beetroot"

這是所需的 output。

$x
[1] "x_apple"   "x_avocado"

$y
[1] "y_banana"   "y_beetroot"

您可以使用purrr::imap()

library(purrr)
imap(j, ~ paste0(.y, "_", .x))

Output

$x
[1] "x_apple"   "x_avocado"

$y
[1] "y_banana"   "y_beetroot"

imap()中的“i”表示索引,方便您將向量的元素及其名稱傳遞給 function。

在基礎 R 中,您可以使用Map -

Map(function(x, y) paste(x, y, sep = '_'), names(j), j)

#$x
#[1] "x_apple"   "x_avocado"

#$y
#[1] "y_banana"   "y_beetroot"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM