【问题标题】:Why does a question mark in a dataframe column title show as a period when outputting from r to an excel sheet (using xlsx package)?为什么从 r 输出到 excel 表(使用 xlsx 包)时,数据框列标题中的问号显示为句点?
【发布时间】:2020-04-25 08:51:58
【问题描述】:

假设我使用 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”字符?

当然,如果我缺少一个简单的解决方法,请告知。谢谢!

【问题讨论】:

  • 您可以在data.frame 中使用check.names = FALSE,即df &lt;- data.frame("Questions?" = c("bla", "bla bla"), "123Numbers"= c(1,2), check.names = FALSE)
  • 完美运行。我以前从未使用过 check.names,所以我会查一下,非常感谢!

标签: r xlsx r-xlsx


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-03-31
    • 2018-02-27
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    • 1970-01-01
    相关资源
    最近更新 更多