表达式值未插入R中的数组单元格中

时间:2018-02-15 11:35:09

标签: arrays r

我必须创建n(比如说2)否。尺寸为5*5的矩阵具有不同的单元格值分配,如下所示:

,,1
-1  0  1 -1  0        
 1 -1  0  1 -1
 0  1 -1  0  1
-1  0  1 -1  0
 1 -1  0  1 -1
,,2
0 -1  0  1 -1
1  0  0  1  0
0  0  1  0  1
1  0 -1  0 -1
0 -1 -1 -1 -1

为此我尝试了以下方式:

r = 5
c = 5
a = 2
m = array(2, dim = c(5,5,2))
for(i in 1:dim(m))
{ for (j in 1:dim(m)) {
  for (k in 1:dim(m)){
  m[i,j,k] = sample(c(-1,1,0),replace =T, 1)

}}}
m

并收到以下错误和警告:

  

[<-中的错误(*tmp*,i,j,k,值= -1):下标超出范围   另外:警告信息:1:1:dim(m):数值表达式   有3个元素:只有第一个使用2:1:dim(m):数字   表达式有3个元素:只有第一个使用3:1:dim(m):   数值表达式有3个元素:只使用第一个

但是当我尝试使用矩阵函数时,它给出了正确的结果,那么数组有什么问题。

r = 5
c = 5

m = matrix(2,r,c)
for(i in 1:r)
{ for (j in 1:c) {
  m[i,j] = sample(c(0,1,-1),replace =T,prob=c(.33,.33,.34),1)

}}

任何人都可以告诉我如何解决这个问题。

0 个答案:

没有答案