【问题标题】:Conditional Formatting using openxlsx package in R在 R 中使用 openxlsx 包进行条件格式化
【发布时间】:2016-07-22 09:18:05
【问题描述】:

我正在使用 R 中的 OPENXLSX 包将条件格式应用于 Excel 工作表。 我的代码是这样的:

posStyle <- createStyle(fontColour = "#006100", bgFill = "#C6EFCE")

conditionalFormatting(wb=wb1, sheet='sheet1', cols=1:10, rows=1:100, rule=" > 4", type = "expression",style = posStyle)

我面临的问题是,在第 1 列和第 10 列之间,如果任何列是非数字的,则条件格式将应用于该列中的所有单元格。理想情况下不应该发生这种情况,因为我的规则状态在单元格值大于 4 的地方应用格式。我错过了什么吗?如果没有,有什么解决办法吗?谢谢!

【问题讨论】:

    标签: r r-xlsx


    【解决方案1】:

    回答你的第一个问题:是的,你错过了一些东西。 R 以字典方式比较字符串,显然它会将示例中的“4”转换为字符串,然后再将其与另一个字符串进行比较 - 只需在 R 控制台中输入 "a"&gt;4 并查看结果为 TRUE。有关这方面的更多详细信息,请参阅例如 http://stat.ethz.ch/R-manual/R-devel/library/base/html/Comparison.html

    为了解决您的问题,如果您可以将您的规则更改为" &gt;4 &amp; &lt;"a" 左右,那将是最简单的,但是根据conditionalFormatting 帮助,&amp;-operator 似乎无效。所以对我来说,看起来你必须知道带有数字输入的列,然后将它们提供给格式化程序,比如

    conditionalFormatting(wb=wb1, sheet='sheet1', cols=numeric_cols, rows=1:100, rule=" &gt; 4", type = "expression",style = posStyle).

    【讨论】:

      猜你喜欢
      • 2019-12-17
      • 2023-02-26
      • 2018-12-02
      • 2018-06-12
      • 1970-01-01
      • 2023-01-29
      • 2013-05-19
      • 2018-03-10
      • 1970-01-01
      相关资源
      最近更新 更多