带有彩色文本的Data.Frame到PDF / HTML表格

时间:2012-04-11 01:51:37

标签: r pdf-generation dataframe

我有一个非常简单的问题。我有一个包含多行和多列的数据框。我的行表示时间点。我的列是潜在的条件,我的细胞是这些条件在特定时间发生的概率。

我想将此信息输出到PDF表格。另外,我想为此添加颜色。例如< 60%灰色文字。 60-75绿色文字。 75+亮绿色。

有没有这样做?

此外,我的PDF输出中是否可以有一列由水平条组成。条形的大小也将基于我的单元格值。理想情况下,我也可以对它进行着色。

2 个答案:

答案 0 :(得分:5)

如果您愿意使用LaTeX,可以使用Rd2roxygena range of ways to export tables from R to LaTeX or HTML

如果您不想使用LaTeX,您可以使用热图来传达细胞中的差异。这是a nice example by Jason Bryeranother example

来自Jason Bryer's blog的表格,表示没有时间碰撞上述链接的人。 Jason Bryer's heatmap

答案 1 :(得分:1)

使用ggplot和热图。

以下示例代码。

df.m = melt(df)
df.m <- ddply(df.m, .(variable), transform,rescale = scale(value))
pp = ggplot(df.m, aes(x = variable, y = Time, fill = rescale, label = sprintf("%1.1f%%", 100*value),size=10))
pp = pp + geom_tile() + geom_text(aes(size=10)) + 
scale_x_discrete(name = '', expand = c(0, 0)) +
scale_y_discrete(name = '', expand = c(0, 0)) +
scale_fill_gradient2(low = 'grey', high = 'steelblue') +
theme_bw() +
opts(legend.position = 'none',
    panel.grid.major = theme_line(colour = NA),
    panel.grid.minor = theme_line(colour = NA))