R 查找不带包的1:n数字的所有唯一组合
我需要创建一个函数,为我提供所有可能的1:n数字组合。函数的参数为n。我需要在不使用combn功能或R中的任何其他预安装功能的情况下执行此操作 上面这张图片描述了我想做的事情。底部部分仅使用combn检查上述功能是否有效 我做了以下几点,但显然这不是目前正确的方法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(
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生成自己的阶乘。你真的为他做了家庭作业。。。是的,我知道。。。虚弱的时刻。我不完全确定这是否值得投否决票,但我不能完全反驳答案可能比这更模糊的观点。