這裏是map
library(tidyverse)
library(broom)
do.call(Map, c(f = binom.test, unname(somedata))) %>%
map_df(tidy)
# estimate statistic p.value parameter conf.low conf.high method alternative
#1 0.3333333 1 1.00000000 3 0.008403759 0.9057007 Exact binomial test two.sided
#2 0.6666667 2 0.25392200 3 0.094299324 0.9915962 Exact binomial test two.sided
#3 1.0000000 3 0.03571472 3 0.292401774 1.0000000 Exact binomial test two.sided
#4 0.3333333 1 0.14190440 3 0.008403759 0.9057007 Exact binomial test two.sided
#5 0.6666667 2 0.55583967 3 0.094299324 0.9915962 Exact binomial test two.sided
#6 1.0000000 3 1.00000000 3 0.292401774 1.0000000 Exact binomial test two.sided
#7 0.3333333 1 0.58810045 3 0.008403759 0.9057007 Exact binomial test two.sided
#8 0.6666667 2 1.00000000 3 0.094299324 0.9915962 Exact binomial test two.sided
#9 1.0000000 3 0.25948735 3 0.292401774 1.0000000 Exact binomial test two.sided
或只tidyverse
功能
somedata %>%
unname %>%
pmap(binom.test) %>%
map_df(tidy)
#estimate statistic p.value parameter conf.low conf.high method alternative
#1 0.3333333 1 1.00000000 3 0.008403759 0.9057007 Exact binomial test two.sided
#2 0.6666667 2 0.25392200 3 0.094299324 0.9915962 Exact binomial test two.sided
#3 1.0000000 3 0.03571472 3 0.292401774 1.0000000 Exact binomial test two.sided
#4 0.3333333 1 0.14190440 3 0.008403759 0.9057007 Exact binomial test two.sided
#5 0.6666667 2 0.55583967 3 0.094299324 0.9915962 Exact binomial test two.sided
#6 1.0000000 3 1.00000000 3 0.292401774 1.0000000 Exact binomial test two.sided
#7 0.3333333 1 0.58810045 3 0.008403759 0.9057007 Exact binomial test two.sided
#8 0.6666667 2 1.00000000 3 0.094299324 0.9915962 Exact binomial test two.sided
#9 1.0000000 3 0.25948735 3 0.292401774 1.0000000 Exact binomial test two.sided
是否在PMAP函數調用,您可以傳遞參數的一種方式?例如,如果你希望binom.test中的「p」參數是「c-0.5」,我想要做一些像pmap(binom.test(p = .z-0.5))但顯然不會沒有工作。有沒有相同的東西? –
@NicholasRoot我想你需要'pmap(〜binom.test(。,p = z -0.5))' – akrun
請注意,如果你使用'somedata'中的列名稱來匹配參數函數(在這種情況下爲'binom.test')。這將更加明確,因此可能更安全。 – cboettig