purrr :: pmap с анонимной функцией по сравнению с lapply - PullRequest
0 голосов
/ 27 апреля 2018

Презентация Дженнифер Брайан (https://speakerdeck.com/jennybc/row-oriented-workflows-in-r-with-the-tidyverse) убедила меня в том, что мое решение в этом семестре будет заключаться в том, чтобы полностью посвятить себя подходу с изменением направления. Однако уже мой первый сеанс кодирования закончился неудачей:

# load the necessary packages
library(tidyverse)

# create examples of my data set
prob = tibble(names = letters[1:17])
sample1 = sample(letters, 5)

# tidyverse approach, does not work
pmap(sample1, function(x) prob == x)

# basic R approach, does work
lapply(sample1, function(x) prob == x)

# how can I change the pmap code to make it work?

Все примеры онлайн-анонимных функций pmap не содержали другого объекта (в моем случае «prob»), так что, может быть, в этом проблема? Или, скорее, я что-то упустил, как указать анонимную функцию?

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Или используйте: pmap(as.list(sample1), function(x, ...) prob == x)

Редактировать:

Спасибо, Карл, на самом деле я был не прав, скорее это должно быть pmap(list(sample1), function(x) prob == x), как вы предлагаете.

0 голосов
/ 27 апреля 2018

Используйте map() вместо pmap() (как подсказывает phiver)

  • map() работает с одним аргументом

  • map2() работает с двумя аргументами

  • pmap() работает со списком аргументов

...