【发布时间】:2019-11-19 02:40:10
【问题描述】:
我正在尝试将NaN 转换为零。而且,我使用的代码如下
myfiles6 <- lapply(myfiles6, function(x) {x[is.nan(x)] <- 0; x})
但它给出了一个错误
Error in is.nan(x) : default method not implemented for type 'list'
有什么解决办法?
【问题讨论】:
-
正如错误所说,您
is.nan适用于矢量,可能您需要lapply(myfiles6, function(dat) {dat[] <- lapply(dat, function(x) replace(x, is.nan(x), 0)); dat}) -
这行得通,但如果它可以简化我会很高兴,我猜它是一个嵌套函数。
-
也许你可以使用
map(myfiles6, ~ .x %>% mutate_all(~ replace(., is.nan(.), 0)))fromtidyverse -
谢谢,这看起来很眼熟。