Вставка дополнительных символов в каждый элемент списка с помощью пакета R Purrr - PullRequest
0 голосов
/ 02 июня 2019

У меня есть список, который я хочу перебрать и добавить символы в конце каждого слова. Однако, в зависимости от элемента в списке, я хотел бы изменить добавляемое слово. Я также ищу некоторую интуицию за ответом. Наконец, я ищу ответ, используя функциональное программирование из пакета 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» в конце каждого слова.

Спасибо.

1 Ответ

1 голос
/ 02 июня 2019

Вы можете перебрать 2 списка / вектора одинакового размера, используя purrr::map2.paste0 работает как paste, но объединяет без пробелов.paste/paste0 векторизовано, так что работает test <- letters[1:5]; paste0(test, "test").

suffix <- c(".O", ".P")
purrr::map2(my.list, suffix, ~paste0(.x, .y))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...