Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.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 查找不带包的1:n数字的所有唯一组合_R_Combn - Fatal编程技术网

R 查找不带包的1:n数字的所有唯一组合

R 查找不带包的1:n数字的所有唯一组合,r,combn,R,Combn,我需要创建一个函数,为我提供所有可能的1:n数字组合。函数的参数为n。我需要在不使用combn功能或R中的任何其他预安装功能的情况下执行此操作 上面这张图片描述了我想做的事情。底部部分仅使用combn检查上述功能是否有效 我做了以下几点,但显然这不是目前正确的方法 pairwise_comp <- function(n) { res <- matrix(nrow = 0, ncol = 2) for (i in 1:n) { res <-rbind(res,cbind(

我需要创建一个函数,为我提供所有可能的1:n数字组合。函数的参数为n。我需要在不使用combn功能或R中的任何其他预安装功能的情况下执行此操作

上面这张图片描述了我想做的事情。底部部分仅使用combn检查上述功能是否有效

我做了以下几点,但显然这不是目前正确的方法

pairwise_comp <- function(n) {

res <- matrix(nrow = 0, ncol = 2)
for (i in 1:n) {
  res <-rbind(res,cbind( i , i+1))
}


  return(res)

}

有几种方法可以解决这个问题,一些有效的,一些可读的,主观的,不是很多都是

例如,您可以递归地执行此操作,如下所示:


这是家庭作业吗?此外,您的代码中似乎使用了几个基本R函数。是的,这是用于家庭作业的输出匹配,不是吗?怎么了?伙计。。。如果不使用基本R函数,他们希望您如何做到这一点?到目前为止,你已经有了矩阵,例如,rbind,cbind,+,:,等等。这是假设函数和返回是公平的游戏。通过反复调用rbind来构建矩阵或框架是一个非常糟糕的主意:虽然它在技术上可行,但它的伸缩性非常差,因此强烈反对。我建议您提前分配行数:!n/!k*!n-k。R函数阶乘在这里很有用。。。如果你能用的话。否则,您可以简单地使用prod或for loop.Ugh生成自己的阶乘。你真的为他做了家庭作业。。。是的,我知道。。。虚弱的时刻。我不完全确定这是否值得投否决票,但我不能完全反驳答案可能比这更模糊的观点。