Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.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:包含不同长度的列的数据帧,对应于combn()的最大可能值/choose()_R_Matrix_Dataframe_Combinations - Fatal编程技术网

R:包含不同长度的列的数据帧,对应于combn()的最大可能值/choose()

R:包含不同长度的列的数据帧,对应于combn()的最大可能值/choose(),r,matrix,dataframe,combinations,R,Matrix,Dataframe,Combinations,我试图生成一个包含所有可能组合结果的数据帧。我正在使用这个函数 combn(x,m) x <- 17 m <- some range of the numbers between 2 and 16 combn(x,m) 对于m的每个值,combn(x,m)返回一个包含m行和choose(x,m)列的数组。我不确定我是否理解您要将哪个向量附加到您的dataframe.Right中,我使用这些维度来生成我的数据帧。循环的每次迭代都会生成一个向量。第一次迭代的向量长度为choose(x,

我试图生成一个包含所有可能组合结果的数据帧。我正在使用这个函数

combn(x,m)
x <- 17
m <- some range of the numbers between 2 and 16
combn(x,m)

对于
m
的每个值,
combn(x,m)
返回一个包含
m
行和
choose(x,m)
列的数组。我不确定我是否理解您要将哪个向量附加到您的dataframe.Right中,我使用这些维度来生成我的数据帧。循环的每次迭代都会生成一个向量。第一次迭代的向量长度为choose(x,2)。对于第二次迭代,长度为choose(x,3)。对于第三次迭代,长度为choose(x,4)。但是,根据我想看的内容,第一次迭代的向量长度可以是choose(x,5),然后下一次的向量长度可以是choose(x,6),等等。所以这些向量的长度都不同。最大值为ncol(combn(n,长度(n)/2)),但前提是n/2的值包含在范围内。您能描述一下如何获得每个向量吗?例如,对于
m=2
,向量对应于什么?如果有一个函数
myfunction(m,x)
返回长度为
choose(x,m)
,则可以执行
lappy(2:16,函数(y)myfunction(y,x))
。这将返回长度不等的向量列表。然后,要转换为带有填充NAs的data.frame,请检查此问题
n <- max(length(data.frame), length(new.vector))
 for(l in 0:n) {
 data.frame[l,j-1] <- new.vector[l] 
 }
dataframe <- data.frame(matrix(NA, nrow = ncol(combn(n,length(n)/2)), 
ncol = max.n-min.n+1))