[英]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.