Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
除以R中按因子分组的变量的所有组合_R_Loops_Dplyr_Combinations_Division - Fatal编程技术网

除以R中按因子分组的变量的所有组合

除以R中按因子分组的变量的所有组合,r,loops,dplyr,combinations,division,R,Loops,Dplyr,Combinations,Division,我的数据如下所示: set <- rep(c(1,2,3,4), each = 15) h_density <- rep(c(1,3,6), each =5 ) n_density <- rep(c(100,500,1000,5000,10000), times =4 ) counts <- runif(60,900,10000) data <- data.frame(set,h_density,n_density,counts) data$set <- as

我的数据如下所示:

set <- rep(c(1,2,3,4), each = 15)
h_density <- rep(c(1,3,6), each =5 )
n_density <- rep(c(100,500,1000,5000,10000), times =4 )
counts <- runif(60,900,10000)
data <- data.frame(set,h_density,n_density,counts)
data$set <- as.factor(data$set)
data$n_density <- as.factor(data$n_density)
data$h_density <- as.factor(data$h_density)

如何在R中实现这一点?

如果您的数据不是太大,那么通过
internal\u join()
进行所有组合并通过
n\u density
的不等性对其进行过滤是很好且简单的

library(dplyr)

data %>% 
  inner_join(data, by = c("set", "h_density"), suffix = c(".l", ".r")) %>% 
  filter(as.numeric(n_density.l) < as.numeric(n_density.r)) %>% 
  mutate(n_density_ratio = paste0(n_density.l , "/", n_density.r)) 
库(dplyr)
数据%>%
内部连接(数据,by=c(“set”,“h_density”),后缀=c(“.l”,“.r”)))%>%
过滤器(作为数值(n_density.l)<作为数值(n_density.r))%>%
突变(n_density_ratio=paste0(n_density.l,“/”,n_density.r))
library(dplyr)

data %>% 
  inner_join(data, by = c("set", "h_density"), suffix = c(".l", ".r")) %>% 
  filter(as.numeric(n_density.l) < as.numeric(n_density.r)) %>% 
  mutate(n_density_ratio = paste0(n_density.l , "/", n_density.r))