使用来自数据框r

时间:2018-04-24 08:36:08

标签: r matrix combinations permutation

我有一个数据框 df< - as.data.frame(expand.grid(0:1,0:4,0:3,0:7,2:7)) 我想在数据框df

中使用给定的5个变量的2个变量获得所有唯一组合

2 个答案:

答案 0 :(得分:1)

将函数f(提取唯一的一对)应用于每对列:

f<-function(col,df)
{
   return(unique(df[,col]))
}

#All combinantions
comb_col<-combn(colnames(df),2)

您的输出

apply(comb_col,2,f,df=df)
[[1]]
   Var1 Var2
1     0    0
2     1    0
3     0    1
4     1    1
5     0    2
6     1    2
7     0    3
8     1    3
9     0    4
10    1    4

[[2]]
   Var1 Var3
1     0    0
2     1    0
11    0    1
12    1    1
21    0    2
22    1    2
31    0    3
32    1    3
...

答案 1 :(得分:0)

您可以使用function callApi(list){ if(!list.length){ return; } console.log('start'); restApi(url, function(){ console.log('end'); callApi(list.splice(1)); }); } 包中的distinct功能:

dplyr

此外,您还可以选择使用df <- as.data.frame(expand.grid(0:1, 0:4, 0:3,0:7, 2:7)) library(dplyr) df %>% distinct(Var1, Var2) 参数保留其余列。

如果您想获得所有可能的组合:

.keep_all = TRUE