每次调用我的代码时,它都会返回几个矩阵,但是大小会随着调用而变化,就像下面的示例代码中所做的那样。我不知道数组大小会是什么。如何确定返回的内容两个数组的尺寸是多少?我是否必须在回报中明确地传回这些内容,还是有更好的方法来做到这一点?
由于
ReturnTwoArrays = function(){
x1=sample(1:4)[1]
x2=sample(2:4)[1]
A1 = matrix(data=1,nrow=x1,ncol=x2)
x3=sample(1:5)[1]
x4=sample(2:4)[1]
A2 = matrix(data=2,nrow=x3,ncol=x4)
return(c(A1,A2))
}
C1 = ReturnTwoArrays()
C2 = ReturnTwoArrays()
C1
C2
答案 0 :(得分:3)
这里的问题是你不能在两个不同的矩阵上使用c
。您应该返回一个列表:
....
return(list(A1, A2))
}
然后您访问该列表的元素:
C1 = ReturnTwoArrays()
C1[[1]]
c2[[2]]