2013-07-02 50 views
0

我正在嘗試做一些看起來像這樣的事情。這應該很簡單,但我一整週都在撞牆。我有一個256列的數據框,從中我使用table()生成2x2表的所有唯一組合,在表上運行統計信息,如chisq.test()oddsratios(),同時使用sink()將輸出管道輸出到文件。問題出現在我想將文字嵌入到情節中時。我希望每個表的第一部分包含兩個變量的直方圖,但情節和文本似乎沒有混合。我一直無法找到關於如何重定向劇情設備的任何信息。順便說一句,如果我使用X11()par(),我可以得到一個多圖的圖形到一個繪圖輸出文件。所以我可以做我想要的兩件事,但不能同時做。任何建議將不勝感激。將R圖與其他R輸出相結合

+1

請告訴我們的示例代碼和輸出 – Metrics

+1

我會建議使用knitr乳膠來創建表格,圖表和文本文件。否則,用數字將它們寫入帶有png(...)的圖像,並將它們單獨包含在文本文件中。 – DiscreteCircle

回答

0

R包針織機(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 =", xy.cor$cor, "p value =", xy.cor$p.value), side=3) 
dev.off() # close the png device