我正在尝试做一些看似这样的事情。它应该很简单,但我整个星期一直在撞墙。我有一个256列的数据框,我使用table()
从中生成2x2表的所有唯一组合,在chisq.test()
和oddsratios()
上运行统计信息,同时使用{{1}将输出传递给文件。当我想在文本中嵌入绘图时,问题就来了。我想让每个表的第一部分包含两个变量的直方图,但是图和文本似乎没有混合。我无法找到有关如何重定向绘图设备的任何信息。顺便说一句,如果我使用sink()
和X11()
,我就会到达哪里。我可以将多个情节图形输出到绘图输出文件中。所以我可以做我想要的两件事,但不能同时做。任何建议都会非常感激。
答案 0 :(得分:0)
R package knitr(http://yihui.name/knitr/)旨在完全按照您的意愿行事。它允许您以html格式生成带有注释的数据报告,文本和图表散布在同一文件中。在(免费)R IDE R Studio(http://www.rstudio.com/)中使用时尤其有效。
如果您真的打算将文本结果放在与图形相同的文件中,那么最好用文本注释图形而不是相反。例如,您可以创建一个绘图,并使用mtext()或text()函数将chisq.test p值和chi平方值添加到绘图中。这是使用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 =", xy.cor$cor, "p value =", xy.cor$p.value), side=3)
dev.off() # close the png device