当从r输出到excel工作表(使用xlsx包)时,数据框列标题中的问号为什么显示为句点?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当从r输出到excel工作表(使用xlsx包)时,数据框列标题中的问号为什么显示为句点?相关的知识,希望对你有一定的参考价值。

假设我使用xlsx包将数据帧从r写入excel。并假设我有一个数据框,其中的列标题包含一个问号(下面的代码):

library(xlsx)
rm(list = ls())

fpath <- "whatever filepath"

#My df
df <- data.frame("Questions?" = c("bla", "bla bla"), "123Numbers"= c(1,2))

#Now output 
wb <- createWorkbook()
sh <- createSheet(wb, sheetName = "Bla")
addDataFrame(df, sh)

saveWorkbook(wb, paste0(fpath,".xlsx"))

当我打开excel输出文件时,得到以下信息:Result

  1. 为什么问号在“问题”列标题中显示为句点?
  2. 为什么在123Numbers列标题前面有一个随机的“ X”字符?

当然,如果我没有简单的解决方法,请告知。谢谢!

答案

check.names参数默认为TRUE中的data.frame,它将确保通过应用(make.names-> make.unique)修改所有非标准列名。如果我们将其指定为FALSE,则列名将不会更改

df <- data.frame("Questions?" = c("bla", "bla bla"),
    "123Numbers"= c(1,2), check.names = FALSE)

以上是关于当从r输出到excel工作表(使用xlsx包)时,数据框列标题中的问号为什么显示为句点?的主要内容,如果未能解决你的问题,请参考以下文章

将受密码保护的 xlsx 工作簿导入 R

如何才能拿R读取Excel文件

R XLSX 和 XLConnect 包 - 使用 xlsx 包格式化由 XLConnect 创建的工作簿对象?

如何将R语言中的表格数据输出为Excel文件

将数据框添加到没有 xlsx 包的工作表

R读取excel文件的最佳方式