R Lappy将列表中的指定矩阵元素转换为NA
我有一个矩阵列表(玩具示例):R Lappy将列表中的指定矩阵元素转换为NA,r,matrix,lapply,R,Matrix,Lapply,我有一个矩阵列表(玩具示例): x这是有效的 l_na <- lapply(l, function(x) { x[(x >= 11)] <- NA; x }) l_na ##[[1]] ## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] ##[1,] 1 3 5 7 9 NA NA NA NA NA ##[2,] 2 4 6 8 10
x这是有效的
l_na <- lapply(l, function(x) { x[(x >= 11)] <- NA; x })
l_na
##[[1]]
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
##[1,] 1 3 5 7 9 NA NA NA NA NA
##[2,] 2 4 6 8 10 NA NA NA NA NA
##
##[[2]]
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
##[1,] 1 3 5 7 9 NA NA NA NA NA
##[2,] 2 4 6 8 10 NA NA NA NA NA
l_na=11)]这是可行的
l_na <- lapply(l, function(x) { x[(x >= 11)] <- NA; x })
l_na
##[[1]]
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
##[1,] 1 3 5 7 9 NA NA NA NA NA
##[2,] 2 4 6 8 10 NA NA NA NA NA
##
##[[2]]
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
##[1,] 1 3 5 7 9 NA NA NA NA NA
##[2,] 2 4 6 8 10 NA NA NA NA NA
l_na=11)]我们可以使用replace
l_na <- lapply(l, function(x) replace(x, x>=11, NA))
l_na
#[[1]]
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
#[1,] 1 3 5 7 9 NA NA NA NA NA
#[2,] 2 4 6 8 10 NA NA NA NA NA
#[[2]]
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
#[1,] 1 3 5 7 9 NA NA NA NA NA
#[2,] 2 4 6 8 10 NA NA NA NA NA
我们可以使用替换
l_na <- lapply(l, function(x) replace(x, x>=11, NA))
l_na
#[[1]]
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
#[1,] 1 3 5 7 9 NA NA NA NA NA
#[2,] 2 4 6 8 10 NA NA NA NA NA
#[[2]]
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
#[1,] 1 3 5 7 9 NA NA NA NA NA
#[2,] 2 4 6 8 10 NA NA NA NA NA
l_na <- lapply(l, function(x) replace(x, x>=11, NA))
l_na
#[[1]]
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
#[1,] 1 3 5 7 9 NA NA NA NA NA
#[2,] 2 4 6 8 10 NA NA NA NA NA
#[[2]]
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
#[1,] 1 3 5 7 9 NA NA NA NA NA
#[2,] 2 4 6 8 10 NA NA NA NA NA
lapply(l, function(x) x*NA^(x>=11))