Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.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 将多维数组中的所有值设置为0(如果没有);我不符合某些标准_R_Arrays - Fatal编程技术网

R 将多维数组中的所有值设置为0(如果没有);我不符合某些标准

R 将多维数组中的所有值设置为0(如果没有);我不符合某些标准,r,arrays,R,Arrays,如果我有一个二维数组: 创建两个不同长度的向量。 感谢创建一个逻辑表达式,根据第三维的长度将其复制到数组中并进行乘法(*) 数据 结果 vector1 <- c(5,9,3) vector2 <- c(10,11,12,13,14,15) # Take these vectors as input to the array. result <- array(c(vector1,vector2),dim = c(3,3,2)) result , , 1 [,1]

如果我有一个二维数组:

创建两个不同长度的向量。
感谢

创建一个逻辑表达式,
根据第三维的
长度将其复制到
数组中并进行乘法(
*

数据
结果
vector1 <- c(5,9,3)
vector2 <- c(10,11,12,13,14,15)

# Take these vectors as input to the array.
result <- array(c(vector1,vector2),dim = c(3,3,2))

result
, , 1

     [,1] [,2] [,3]
[1,]    5   10   13
[2,]    9   5    14
[3,]    3   12   15

, , 2

     [,1] [,2] [,3]
[1,]    7   8    14
[2,]    9   7    14
[3,]    1   12   22
result
, , 1

     [,1] [,2] [,3]
[1,]    5   0   0
[2,]    0   5   0
[3,]    0   0   0

, , 2

     [,1] [,2] [,3]
[1,]    7   0    0
[2,]    0   7    0
[3,]    0   0    0
i1 <- ((result[,,1] == 5)|(result[,,2] == 7))
result * replicate(dim(result)[3], i1)
#, , 1
#
#     [,1] [,2] [,3]
#[1,]    5    0    0
#[2,]    0    5    0
#[3,]    0    0    0

#, , 2

#     [,1] [,2] [,3]
#[1,]    7    0    0
#[2,]    0    7    0
#[3,]    0    0    0
vals <- c(5, 7)
for(i in seq_len(dim(result)[3])) {
     result[,,i] <- result[,,i] *(result[,,i] == vals[i])
   }
result <- array(c(5, 9, 3, 10, 5, 12, 13, 14, 15, 7, 9, 1, 8, 7, 
       12, 14, 14, 22), dim = c(3, 3, 2))