R在Excel中写入时将NA替换为空字段无

问题描述

我希望NA替换为空字段。你能写功能吗?在R中可以存储空字段吗?

library(dplyr)
library(xlsx)
require(readxl)
Sys.setlocale(locale = 'Russian')
fname <- file.choose()
basetable<- read_xlsx(fname)
result_table<-basetable %>% 
  group_by(`Product`,`Mark`,`Dens.`,`Format`,`Cons`,`Date`,`Company`)%>% 
  summarise(`Sum` = sum(`Weight`),`Count`=sum(`Расход`==0)) 
xlsx::write.xlsx(as.data.frame(result_table),'file.xlsx',sheetName="Sheet 5",append=TRUE)

解决方法

函数xlsx::write.xlsx的参数showNA默认设置为TRUE。此参数控制是否将NA值保持原样(为TRUE时)还是将其保留为空单元格(为FALSE时)。

xlsx::write.xlsx(as.data.frame(result_table),'file.xlsx',sheetName = "Sheet 5",append = TRUE,showNA = FALSE)
,

选项does not require the rJava packagewritexl软件包,默认情况下不会将NA写入输出Excel文件。

df <- data.frame(x = c(1,2,3,NA,5),y = c("a","b","c","d","e"))
library(writexl)
write_xlsx(df,"./data/writexl_output.xlsx")

...以及在Excel中打开文件时的结果:

enter image description here