lapply 忽略 AND

lapply ignore NA

您好,我想对我的数据集 trainingData[1] 的列进行归一化。此列的类型是 num。但是当我 运行 下面的代码时,它给了我所有的 NA,是因为我的数据集中有 NA,我怎么能告诉 lapply 忽略它。

normalize <- function(x) {
    return ((x - min(x)) / (max(x) - min(x)))
}

trainingData[1] <- as.data.frame(lapply(trainingData[1], normalize))

谢谢!

试试这个

 normalize <- function(x) {
                  return ((x - min(x,na.rm=T)) / (max(x,na.rm=T) - min(x,na.rm=T)))
              }

您可以在 normalize() 函数中内置一个 is.na() 过滤器:

normalize <- function(x) {
   #first option
    x <- x[!is.na(x)]
   #second option
    #x <- na.omit(x)
    return ((x - min(x)) / (max(x) - min(x)))
}