А так как rowwise
имеет статус "опросить" , здесь приведено решение с помощью dplyr
и purrr
. См. Мой комментарий выше, что в этом случае для сравнения 10 000 строк все 3 занимают очень похожее количество времени.
library(dplyr)
library(purrr)
testdf<-data.frame(a=c(80,1,3,4,80),b=c(100,200,300,400,100),c=c(1,2,3,4,1),d=c(200,250,350,450,200))
testdf <-
testdf %>%
distinct %>%
mutate(e = pmap_dbl(.l = list(a, b, c, d),
.f = ~ fisher.test(matrix(c(..1, ..2, ..3, ..4),
ncol = 2,
byrow = TRUE)
)$p.value
)
)
Создано в 2020-04-24 пакетом Представить (v0.3.0)