R - 将 N 转换为 NA

R - convert Nan to NA

我有一个在某些列中包含 Nans 的数据框。如何将所有列中的 nans 转换为 NAs?

我试过 df[is.nan(df)]<-NA 但它显示此错误:

Error in is.nan(df) : default method not implemented for type 'list'

如果需要,您可以这样做,as explained in this answer by @Hong-Ooi:

is.nan.data.frame <- function(x)
  do.call(cbind, lapply(x, is.nan))

df[is.nan(df)] <- NA

看起来有点奇怪,因为你正在创建一个你没有调用的函数,这叫做 Method Dispatch,请参阅上面答案中@Hong-Ooi 的评论。