将数据框绘制成表格。

25

我正在从Word/Excel表格转向尝试在R中生成表格。我有一个数据框架,想将其简单打印为图表,同时可以着色/着色单元格并通常玩弄美学。

x <- data.frame(row.names=paste("Name",1:10))
x[,1] <- 1:10
x[,2] <- sample(1:100,10)
x[,3] <- sample(LETTERS[1:26],10)
colnames(x) <- c("Value 1", "Value 2", "Label")
View(x)提供了我想要的表格格式,就像可保存的图表一样。
我尝试过。
plot(x,type="h")

但是收到了一个错误:

Error in plot.default(...) : formal argument "type" matched by multiple actual arguments

我知道如何输出有两列的表格,但是如何将数据框原样绘制成图形呢?如果能展示如何将该表格粘贴在我创建的散点图下方,以便输出ggsave具有带有表格的散点图,则会得到额外的加分。

2个回答

24

因为我想争取额外得分:

   #Plot your table with table Grob in the library(gridExtra)
   ss <- tableGrob(x)

   #Make a scatterplot of your data
   k <- ggplot(x,aes(x=x$"Value 1",y=x$"Value 2")) + 
   geom_point()

   #Arrange them as you want with grid.arrange
   grid.arrange(k,ss)

如果需要,您可以更改行数、列数、高度等。

祝你好运! enter image description here

http://cran.r-project.org/web/packages/gridExtra/gridExtra.pdf


哇,这么简单?太棒了,谢谢伙计!额外的奖励分给你!你碰巧有答案回复罗伯特的答案下面我的附加问题吗? - Alex
在我们展示的表格中,据我所见,名称1没有截断,那你是什么意思呢? 此外,这可能是由于您使用的行名称。当您只为名称1-10提供新列时,它可能会没问题。 - MichaelVE
安装包(gridExtra) install.packages(gridExtra) 错误:未找到对象“gridExtra”... 不知道它是否仍是一个库? - Coliban
确保你已经在引号中安装了gridExtra,使用以下命令:install.packages("gridExtra") - MichaelVE

21

试试这个。使用pdf()绘制PDF文件(例如mydf.pdf)或使用png()绘制png文件:

library(gridExtra)
pdf("mypdf.pdf", height=6, width=4)
grid.table(x)
dev.off()

在此输入图像描述


1
再次感谢,我编辑了这条评论以说明行名中的字符串(例如我的示例中的“名称1”)被截断,无论我在哪里换行它们,有什么想法吗? - Alex
1
我使用了 table.grob 来解决这个问题,并且使我能够稍后使用 grid.arrange,再次感谢大家! - Alex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接