0

我正在尝试做一些看起来像这样的事情。这应该很简单,但我整个星期都在用头撞墙。我有一个包含 256 列的数据框,我从中生成 2x2 表的所有唯一组合,使用表table()运行统计信息,例如chisq.test()使用oddsratios()管道sink()将输出传输到文件。当我想在文本中嵌入图时,问题就来了。我想让每个表的第一部分包含两个变量的直方图,但图和文本似乎没有混合。我无法找到有关如何重定向绘图设备的任何信息。顺便说一句,如果我使用X11()par()我可以将多图图形添加到绘图输出文件中。所以我可以做我想做的两件事,但不能同时做。任何建议将不胜感激。

4

1 回答 1

0

R 包 knitr ( http://yihui.name/knitr/ ) 旨在做你想做的事。它允许您以 html 格式生成带注释的数据报告,其中文本和图表散布在同一文件中。在(免费)R IDE R Studio ( http://www.rstudio.com/ ) 中使用时特别有效。

如果您真的打算将文本结果放入与绘图相同的文件中,那么最好用文本注释绘图而不是相反。例如,您可以制作一个绘图,并使用 mtext() 或 text() 函数将您的 chisq.test p 值和卡方值添加到绘图中。这是一个使用 cor.test 而不是 chisq.test 的示例:

xx <- rnorm(30, mean=5, sd=4) # some random numbers
yy <- xx + rnorm(30, mean=2, sd=3.5) # add noise to those random numbers
png("plot.png") # open a png device
plot(xx, yy) 
xy.cor <- cor.test(xx, yy) # run the correlation test
# print the test results to the plot margins
mtext(paste("R squared =", round(cor.test(xx, yy)$estimate, 2), 
"p value =", xy.cor$p.value), side=3)
dev.off() # close the png device
于 2013-07-03T22:42:06.183 回答