我有一个要迭代的列表,并在每个单词的末尾添加字符。但是,根据列表中的元素,我想更改要添加的单词。我也在寻找答案的直觉。最后,我正在使用purrr软件包中的函数式编程来寻找答案。
#Here is the output without using purrr
my.list = list(first = c("AAPL", "MSFT"),
second = c("AMZN", "NFLX"))
paste(my.list[["first"]][1], ".O")
paste(my.list[["first"]][2], ".O")
paste(my.list[["second"]][1], ".P")
paste(my.list[["second"]][2], ".P")
所需的输出将是一个这样的列表。
$first
"AAPL.O" "MSFT.O"
$second
"AMZN.P" "NFLX.P"
列表中的第一个向量在向量中每个单词的末尾都收到“ .O”。 我列表中的第二个向量在每个单词的末尾都收到“ .P”。
谢谢。
答案 0 :(得分:1)
您可以使用purrr::map2
遍历2个相同大小的列表/向量。 paste0
的工作方式与paste
相似,但是串联时不能有空格。 paste/paste0
是矢量化的,因此类似test <- letters[1:5]; paste0(test, "test")
的作品。
suffix <- c(".O", ".P")
purrr::map2(my.list, suffix, ~paste0(.x, .y))