Это происходит потому, что pmap
ожидает, что ваш список входов (.l
) будет иметь одинаковую длину. В вашем случае a
имеет длину 1, будучи одной строкой. forestfires
имеет длину 13 (длина df - количество столбцов).
Поскольку все, что имеет длину 1, может быть векторизовано до более длинной длины путем повторения, оно ожидает, что ваш другой элемент списка, b, будет иметь либо длину 1, и в этом случае a и b будут реплицированы 13 раз, либо иметь длину 13 , в этом случае реплицируется только a.
В вашем случае вам вообще не нужно pmap
, просто map
, потому что единственный вход, который меняется каждый раз, это b
. Если вы измените свою последнюю строку на:
map(.x = indices_vect, .f = boxplot_months, a = "month", mydataset = forestfires)
Все должно работать, и вы получите свои 8 участков. Это использует аргумент ...
в map
, где вы можете указать другие аргументы для функции .f
, которые не меняются при прохождении списка .x
.