我正在尝试将数据帧中的N / A更改为0,我尝试过这样:
adv[is.na(adv)]=0
我明白了:
在
[<-.factor
(*tmp*
中,thisvar,值= 0): 无效的因子水平,NA生成
错误消息中有factor
列,首先需要将其转换为character
i1 <- sapply(adv,is.factor)
adv[i1] <- lapply(adv[i1],as.character)
现在,它可以转换为0
adv[is.na(adv)] <- 0
is.na
仅在值为NA
而不是"N/A"
时有效。最好在na.strings
read.csv/read.table
进行阅读
adv <- read.csv('file.csv',na.strings = "N/A",stringsAsFactors = FALSE)
adv[is.na(adv)] <- 0
,
尝试一下:
as.numeric(is.na(adv))