【问题标题】:Pasting Extra Characters to Each element of a List Using Purrr Package R使用 Purrr 包 R 将额外字符粘贴到列表的每个元素
【发布时间】:2019-10-18 01:05:27
【问题描述】:

我有一个列表,我想迭代并在每个单词的末尾添加字符。但是,根据列表中的元素,我想更改要添加的单词。我也在寻找答案背后的一些直觉。最后,我正在使用 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")

Desired Output 将是一个这样的列表。

$first
"AAPL.O" "MSFT.O"

$second
"AMZN.P" "NFLX.P"

我列表中的第一个向量在向量中每个单词的末尾收到“.O”。 我列表中的第二个向量在每个单词的末尾收到“.P”。

谢谢。

【问题讨论】:

    标签: r functional-programming purrr


    【解决方案1】:

    您可以使用 purrr::map2 迭代 2 个相同大小的列表/向量。 paste0paste 类似,但连接时没有空格。 paste/paste0 是矢量化的,所以像 test <- letters[1:5]; paste0(test, "test") 这样的东西可以工作。

    suffix <- c(".O", ".P")
    purrr::map2(my.list, suffix, ~paste0(.x, .y))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-16
      • 2011-10-22
      • 2021-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-22
      相关资源
      最近更新 更多