我在 R 中有一个具有 NaN/Inf/NA 值的列表对象:
dat <- list(a=matrix(c(2,0/0,10/0,NA),nrow=2), b=matrix(c(-3,0,NA,1),nrow=2))
如何将 NaN/Inf/NA 元素替换为 0?
最佳答案
我们可以replace
通过循环 list
将非有限值变为 0具有 lapply
的元素
lapply(dat, function(x) replace(x, !is.finite(x), 0))
# [,1] [,2]
#[1,] 2 0
#[2,] 0 0
#$b
# [,1] [,2]
#[1,] -3 0
#[2,] 0 1
关于将列表对象中的 NaN/Inf/NA 替换为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42697414/