用空格(“”)或点(“。”)replace缺失值(NAs),同时使用write.csv导出dataframe

我有一个典型的数据框,其中包含缺less的值,我想出口这个数据到一个CVS或Excel工作簿,但我想处理缺失的值不同,因为我想要使用这个dataframe在STATA不接受NA缺less价值。

我知道r默认情况下处理任何缺失的值作为NA,是否有告诉R在导出时处理这不同? 说使用空格或点意味着我将在STATA中使用的导出文件中缺less的值?

谢谢

?write.csv

不适用于数据中缺失值的string。

例如write.csv(x, file = "foo.csv", na='.')

样本数据:

 library(data.table) dt <- data.table("col1" = c(1,2,NA), "col2" = c(NA,NA,0)) > dt col1 col2 1: 1 NA 2: 2 NA 3: NA 0 

NAreplaceNA

 dt[is.na(dt)] <- "." > dt col1 col2 1: 1 . 2: 2 . 3: . 0 write.csv(dt,"test2.csv",na=".",row.names = FALSE) 

您可以创build一个新的数据集,以replaceNA作为一个字符。

例如data[is.na(data)]<-"."

这是一个基于我的评论的例子:

 df <- mtcars df$miss <- NA # NA values as empty cells write.csv(df, file = "df.csv", na = "") # for csv file xlsx::write.xlsx(df, file = "df.xlsx", showNA = FALSE) # for excel file