Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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_List_Matrix - Fatal编程技术网

R 替换具有相同结构的矩阵列表中的某些元素

R 替换具有相同结构的矩阵列表中的某些元素,r,list,matrix,R,List,Matrix,我有几个矩阵的列表,它们都有相同的11*19结构,但它们的值不同。在每个矩阵中,我想用“NA”替换某些元素中的值。 它只适用于一个矩阵: m1<-matrix(seq(1:209),11,19) m1[1,1:19]<-NA m1[11,1:19]<-NA m1[1:11,1]<-NA m1[1:11,19]<-NA m1[2,1:5]<-NA m1[2,15:19]<-NA m1[10,1:5]<-NA m1[10,15:19]<-NA

我有几个矩阵的列表,它们都有相同的11*19结构,但它们的值不同。在每个矩阵中,我想用“NA”替换某些元素中的值。
它只适用于一个矩阵:

m1<-matrix(seq(1:209),11,19)

m1[1,1:19]<-NA
m1[11,1:19]<-NA
m1[1:11,1]<-NA
m1[1:11,19]<-NA
m1[2,1:5]<-NA
m1[2,15:19]<-NA
m1[10,1:5]<-NA
m1[10,15:19]<-NA
m1[3,1:4]<-NA
m1[3,16:19]<-NA
m1[9,1:4]<-NA
m1[9,16:19]<-NA
m1[4,1:3]<-NA
m1[4,17:19]<-NA
m1[8,1:3]<-NA
m1[8,17:19]<-NA
m1[5,1:2]<-NA
m1[5,18:19]<-NA
m1[7,1:2]<-NA
m1[7,18:19]<-NA

m1使用
list
我们可以使用
lappy

lapply(m_list, function(x) {x[1, 1:19] <- NA
                            x[11, 1:19] <- NA 
                            x
             })

lappy(m_列表,函数(x){x[1,1:19]但是,只有第一个矩阵的元素被替换,其他两个矩阵不变。@它正在更改所有矩阵中的元素。记住,在放入列表之前,您更改了第一个矩阵。我的缺点:我忘了将结果分配给变量m_list。最后它运行良好!谢谢!为什么是单矩阵函数末尾需要的“x”?如果没有它,它将无法工作。@它将返回更改后的矩阵。如果不这样做,则它将仅为每个列表元素返回单个NA。
lapply(m_list, function(x) {x[1, 1:19] <- NA
                            x[11, 1:19] <- NA 
                            x
             })