R语言用write.xlsx()写入数据到excel文档中字符变化问题如何解决?

How to solve the problem of character change that use write.xlsx() to writes data into excel document in R language?

我通过write.xlsx的函数把一个data.frame写成一个excel文件。 data.frame的头部包含“95%CI”、“Pr(>|W|)”等字符。data.frame在r控制台输出没有任何问题,但是当我通过write.xlsx()写入Excel文件时,95%的CI变成了X95.CI,Pr(>|W|)变成了Pr...W .. 如何解决这个问题呢? 测试代码如下:

library("openxlsx")

mydata <- data.frame("95%CI" = 1,
                     "Pr(>|W|)" =2)
write.xlsx(mydata,
           "test.xlsx", 
           sheetName = "test",
           overwrite = TRUE,
           borders = "all", colWidths="auto")

我认为此代码在 R 控制台中也无法正常工作。

mydata <- data.frame("95%CI" = 1,"Pr(>|W|)" =2)
mydata

#  X95.CI Pr...W..
#1      1        2

列名称中有一些非标准字符(如 %(> 等),如果要保留它们,请使用 check.names = FALSE data.frame 函数。

mydata <- data.frame("95%CI" = 1,"Pr(>|W|)" =2, check.names = FALSE)
mydata

#  95%CI Pr(>|W|)
#1     1        2

现在当你把它写到 excel -

openxlsx::write.xlsx(mydata,
           "test.xlsx", 
           sheetName = "test",
           overwrite = TRUE,
           borders = "all", colWidths="auto")