我有一个非常简单的问题。我有一个包含多行和多列的数据框。我的行表示时间点。我的列是潜在的条件,我的细胞是这些条件在特定时间发生的概率。
我想将此信息输出到PDF表格。另外,我想为此添加颜色。例如< 60%灰色文字。 60-75绿色文字。 75+亮绿色。
有没有这样做?
此外,我的PDF输出中是否可以有一列由水平条组成。条形的大小也将基于我的单元格值。理想情况下,我也可以对它进行着色。
答案 0 :(得分:5)
如果您愿意使用LaTeX,可以使用Rd2roxygen,a range of ways to export tables from R to LaTeX or HTML。
如果您不想使用LaTeX,您可以使用热图来传达细胞中的差异。这是a nice example by Jason Bryer和another example。
来自Jason Bryer's blog的表格,表示没有时间碰撞上述链接的人。
答案 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))