Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.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 访问(并填充)数组中的不同行_R - Fatal编程技术网

R 访问(并填充)数组中的不同行

R 访问(并填充)数组中的不同行,r,R,假设我有一个三维数组: a <- array(dim = c(3, 2, 3)) 使用mapply mapply(function(x, y) {a[x,,y] <<- 1;a}, ind, ind) a # , , 1 # # [,1] [,2] # [1,] 1 1 # [2,] NA NA # [3,] NA NA # # , , 2 # # [,1] [,2] # [1,] NA NA # [2,] 1 1 # [

假设我有一个三维数组:

a <- array(dim = c(3, 2, 3))

使用
mapply

mapply(function(x, y) {a[x,,y] <<- 1;a}, ind, ind)
a
# , , 1
# 
# [,1] [,2]
# [1,]    1    1
# [2,]   NA   NA
# [3,]   NA   NA
# 
# , , 2
# 
# [,1] [,2]
# [1,]   NA   NA
# [2,]    1    1
# [3,]   NA   NA
# 
# , , 3
# 
# [,1] [,2]
# [1,]   NA   NA
# [2,]   NA   NA
# [3,]    1    1

注意:如果您发现控制台输出不必要,请使用
mappy
在代码周围缠绕一个
不可见()

mapply(function(x, y) {a[x,,y] <<- 1;a}, ind, ind)
a
# , , 1
# 
# [,1] [,2]
# [1,]    1    1
# [2,]   NA   NA
# [3,]   NA   NA
# 
# , , 2
# 
# [,1] [,2]
# [1,]   NA   NA
# [2,]    1    1
# [3,]   NA   NA
# 
# , , 3
# 
# [,1] [,2]
# [1,]   NA   NA
# [2,]   NA   NA
# [3,]    1    1

注意:如果您发现控制台输出不必要,请在代码周围缠绕一个
不可见()

另一种替代方法,它可以在一个步骤中替换所有内容。当它的参数是矩阵时,它利用了
[
的操作,每列在数组的维度上建立索引

为了确认它将值放在我们想要的地方,我将把替换矩阵修改为
1:6

#原始数据

一种另一种替代方法,在一个步骤中替换所有内容。当其参数为矩阵时,它利用
[
的操作,每列在数组的维度上建立索引

为了确认它将值放在我们想要的地方,我将把替换矩阵修改为
1:6

#原始数据

a您的
ind
有重复,我们可能可以开始工作,但对我来说,这可能是一个逻辑缺陷。我知道您试图提供一个简单的可复制样本(可以用更小的尺寸完成),所以可能是人为的。好(非常treu)让我来编辑!您的
ind
有重复,我们可能可以开始工作,但对我来说,这可能是一个逻辑缺陷。我知道您试图提供一个简单的可复制样本(可以用更小的尺寸完成),所以可能只是人为的。好的(非常复杂)让我来编辑!
, , 1

     [,1] [,2]
[1,]    1    1
[2,]   NA   NA
[3,]   NA   NA

, , 2

     [,1] [,2]
[1,]   NA   NA
[2,]    1    1
[3,]   NA   NA

, , 3

     [,1] [,2]
[1,]   NA   NA
[2,]   NA   NA
[3,]    1    1
mapply(function(x, y) {a[x,,y] <<- 1;a}, ind, ind)
a
# , , 1
# 
# [,1] [,2]
# [1,]    1    1
# [2,]   NA   NA
# [3,]   NA   NA
# 
# , , 2
# 
# [,1] [,2]
# [1,]   NA   NA
# [2,]    1    1
# [3,]   NA   NA
# 
# , , 3
# 
# [,1] [,2]
# [1,]   NA   NA
# [2,]   NA   NA
# [3,]    1    1
sapply(ind, function(x) {a[x,,x] <<- 1;a})