在数据框中替换空字符串需要很长时间

SPi*_*SPi 1 r

我在R中有一个11M行和46列的数据帧.某些字段包含空字符串("").我需要用NA替换那些空字符串,因为write.dta(在foreign包中)无法处理空字符串.

然而,我的for循环需要很长时间(每列约15分钟;有时R /整个系统崩溃).我在8GB RAM Mac上运行RStudio(R 3.0.2).有谁知道更快的方式?

for (i in 1:46){

   if (length(which(myDF[,i]==""))!=0) {

    myDF[,i][which(myDF[,i]=="")]<-NA 

   }
}
Run Code Online (Sandbox Code Playgroud)

Zby*_*nek 9

这应该工作:

myDF[myDF==''] <- NA
Run Code Online (Sandbox Code Playgroud)