问题描述
我希望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 package是writexl
软件包,默认情况下不会将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中打开文件时的结果: