【问题标题】:How to write different classes into one excel sheet in R如何在R中将不同的类写入一张excel表
【发布时间】:2014-09-25 14:22:38
【问题描述】:

我在 R 中有一组包含字符和数字的数据。我知道我无法将它们保存在数据框中,因为列必须具有相同的类型。因此我将它们保存在一个列表中。

有没有办法将此列表保存到 Excel 工作表中,以便将数字保存为数字,将字符保存为字符?

到目前为止,我一直在使用 XLConnect,它适用于数据框,其中您的列包含所有数字或所有字符

提前致谢

例子:

我有几个不同数量的测量值(我们称它们为 a 和 b)。

这些度量可以是数字(数字)或“n.d”。 (特点)。例如 3 次测量: 第一:a = 5, b =“n.d.” 第二:a = 3,b = 4 第三:a = "n.d.", b = "n.d."

编辑:

Roland 给出的解决方案效果很好:

将数据框中的缺失值编码为NA,以使列全部为数字。
然后使用
setMissingValue(wb, value = "n.d.")
将丢失的单元格设置为“n.d.”在 Excel 工作表中

非常感谢您的宝贵时间和帮助

【问题讨论】:

  • 数据框只是一种特殊的列表,因此您应该能够在同一数据框中同时包含字符和数字变量(只要它们位于不同的列中)。您能否举例说明您的数据采用什么格式?
  • 这正是我的问题!我的数据由某些数量的几个测量值组成,这些测量值可以给出一个数字或“n.d.”。因此,大多数时候我在同一列中都有数字和字符。
  • 你应该将你的缺失值编码为NA,而不是"n.d.",它可以是R中的数字类型。
  • @Roland 我当然也想到了这个解决方案。但是,我更喜欢直接从 R 以最终格式执行此操作的方法,而不必事后在 Excel 中搜索和替换相应的单元格
  • 我不使用 XLConnect,但应该可以指定 na 字符串,如 write.csv。对 R 中的缺失值使用不同于 NA 的任何内容只是自找麻烦。

标签: r excel


【解决方案1】:

Roland 给出的解决方案效果很好:

将数据框中的缺失值编码为NA,以使列全部为数字。
然后使用
setMissingValue(wb, value = "n.d.")
将丢失的单元格设置为“n.d.”在 Excel 工作表中

非常感谢您的宝贵时间和帮助

【讨论】:

    【解决方案2】:

    举个例子:

    df=data.frame(a=c(5,'n.d.','n.d.'),b=c('n.d.',4,'n.d.')),

    你可以使用

    write.csv(df,file='data.csv')

    然后您可以手动将 CSV 文件导入 Excel。

    【讨论】:

    • 这是否足够,或者您想通过 R 自动完成所有操作?
    • 我当然希望一切都通过 R 自动化,但是没有办法做到这一点,我可以通过 csv 采取额外的步骤。但是我不确定这是否解决了我最初的问题,因为据我了解数据框,a 和 b 仍然必须是相同的类型,这将是作为最小公分母的字符......
    • 另外,我认为 XLConnect 包可以很好地将数据框直接保存在 Excel 工作表中。所以我认为没有必要通过 csv 进行额外的步骤
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 2020-09-27
    • 2020-02-03
    相关资源
    最近更新 更多