用空格(“”)或点(“。”)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
用NA
replaceNA
。
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