返回不同大小的矩阵?

时间:2013-08-08 23:41:27

标签: r

每次调用我的代码时,它都会返回几个矩阵,但是大小会随着调用而变化,就像下面的示例代码中所做的那样。我不知道数组大小会是什么。如何确定返回的内容两个数组的尺寸是多少?我是否必须在回报中明确地传回这些内容,还是有更好的方法来做到这一点?

由于

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

1 个答案:

答案 0 :(得分:3)

这里的问题是你不能在两个不同的矩阵上使用c。您应该返回一个列表:

  ....
  return(list(A1, A2)) 
   }

然后您访问该列表的元素:

 C1 = ReturnTwoArrays()
 C1[[1]]
 c2[[2]]