Поскольку мы хотим применить к каждой строке, один вариант - map2
, где он берет каждый элемент 'count', 'time' и делает poisson.test
library(dplyr)
library(purrr)
df %>%
mutate(rate = map2(count, time, poisson.test))
Или, если мыне хотите загружать другой пакет (purrr
), тогда это можно сделать с помощью rowwise
df %>%
rowwise %>%
mutate(rate = list(poisson.test(count, time)))
. Это даст тестовый вывод в виде столбца list
. Если мы заинтересованы в извлечении estimate
df %>%
mutate(rate = map2_dbl(count, time, ~poisson.test(.x, .y)$estimate))
# A tibble: 3 x 3
# count time rate
# <dbl> <dbl> <dbl>
#1 5 10 0.5
#2 4 7 0.571
#3 8 10 0.8