如何与dplyr :: filter一起使用mapply生成某些变量的所有组合的表列表

时间:2019-07-19 19:22:09

标签: r dplyr mapply

我有以下代码,该代码应该生成9个表,其中{4,2,6}(int)和{{1}列的集合{.98,.95,1}k_fitted的每种组合一个}(分别为num)。摘录如下:

r_max

我尝试将k_vec <- unique(power_info$k_fitted) r_vec <- unique(power_info$r_max) super_k_vec <- rep(k_vec,length(k_vec)) super_r_vec <- as.vector(sapply(r_vec,rep,times = length(k_vec),SIMPLIFY=FALSE)) all_tables <- mapply(function(r,k) power_info %>% dplyr::filter(k_fitted==k,r_max==r,L_lu.size==86) %>% gather(names(power_info)[1:41], key = 'coefficient',value = "Rejection Probability") %>% mutate(r_max = as.factor(r_max), method = as.factor(method)),r=super_r_vec,k=super_k_vec,SIMPLIFY = FALSE) 和向量mapply一起使用super_r_vec,这些向量拼出了我想放入的super_k_vecr的所有组合表。出于某种原因,k的这种使用根本不起作用,并且给了我九个表,它们都具有相同的(中间)k。

为便于参考,向量的值为:

mapply

super_k_vec
[1] 4 2 6 4 2 6 4 2 6

也许有一种更优雅的方法将两组数字的所有九种组合放入一个表中吗?由于某种原因,我只得到带有super_r_vec [1] 0.98 0.98 0.98 0.95 0.95 0.95 1.00 1.00 1.00 的表。非常感谢您的帮助!

0 个答案:

没有答案