【问题标题】:R: Highlighting specific values in CSV-tableR:突出显示 CSV 表中的特定值
【发布时间】:2014-07-10 09:29:58
【问题描述】:

我想在 R 中写一个 CSV 文件。例如:

name <- c("a", "a", "b", "b")
class <- c("c1", "c1", "c3", "c3")
year <- c("2010", "2010", "2008", "2008")
value <- c(100, 33, 100, 90)
valueMessage <-c("meh2", "meh", NA, NA)

df <- data.frame(name, class, year, value, valueMessage)
df 

write.csv2(df,file ="df.csv")

我想将此数据写入 csv 文件,但我想用某种颜色突出显示某些单元格或整行。想象一下,我想突出显示 value==100 的所有行,以便文件看起来正常,但是这两行有红色单元格。

有没有办法做这样的事情?

【问题讨论】:

  • 简短的回答是否定的。长答案也是否定的。 csv 是文本数据格式,不是显示格式。

标签: r csv colors


【解决方案1】:

仅纯 CSV:不。 “类似的东西”:是的。

如果您坚持使用 CSV,请尝试将要突出显示/记住的单元格列表保存在辅助文件中以供进一步阐述?

否则,您可以使用其他格式,甚至 xls 也有其优点和缺点。请参阅http://www.r-bloggers.com/read-excel-files-from-r/ 以广泛讨论处理 xls 文件的方法,包括优缺点。使用 package xlsx,“用户可以控制设置颜色、字体、数据格式、添加边框、隐藏/取消隐藏工作表、添加/删除行、添加/删除工作表等”(参见 http://cran.r-project.org/web/packages/xlsx/index.html )。

【讨论】:

  • 它不一定是单独的 CSV,“类似的东西”完全可以。我试图安装 xlsx 包,但我看到我需要 Java。我无法安装 Java,嗯,原因。您可以推荐其他格式吗?在我打开这个帖子之前,我正在使用 hwriter 和 HTML 文件,但这并不是我真正想要的。
  • 您是否需要计算机稍后再次读取数据,还是只需要一个不错的人类可读版本?在后一种情况下,可以选择 sweave 或 knitr 吗?
  • 只有人类可读,但不必很好(比如,不必输出值得报告的东西)。我只想返回一些数据(例如仅在 value > 30 的地方)并且我想突出显示特定的行(例如 value==100 的地方)。我不想要的是必须在其他地方处理或包含代码(我之前研究过 sweave,但据我所知,您必须将它包含到 TeX 中?)。我只想输出一个突出显示某些值的表格。
  • 这可能是一种解决方法 a) 过滤结果并仅打印符合条件的结果或根据值对它们进行排序(例如 df[df$value==100] 或 ?sort / ?顺序),或 b)引入列 df$value.flag
  • 问题是我也有不同的标准。用红色突出 value==100,value
猜你喜欢
  • 1970-01-01
  • 2015-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-25
  • 2012-08-06
相关资源
最近更新 更多