2017-04-07 27 views
0

我是R新手 我想将描述性统计量和直方图都添加到pdf中。R:将文本和图形输出到pdf

以下代码使用ggplot2成功生成两个直方图。但是描述(来自心理包)函数不会出现在pdf中。 我该如何包含两者?

library(psych) 
library(foreign) 
library(nnet) 
library(ggplot2) 
library(reshape2) 

# direct output to a file 
sink("C:\\Users\\jake\\Dropbox\\__iKoda\\datafiles\\OutputR.txt", append=FALSE, split=TRUE) 
gc() 
memory.limit() 


options(max.print=1000000) 

results <- read.csv("C:\\Users\\jake\\Dropbox\\__iKoda\\datafiles\\results.csv") 



pdf(file="C:\\Users\\jake\\Dropbox\\__iKoda\\datafiles\\plots.pdf") 

timesTrimmedComplete=processITStimes(results,"TSICompleted") 

print(describe(timesTrimmedComplete$totaltimemins)) 

freq=generateQplot(timesTrimmedComplete$totaltimemins,"histogram", 1) 
print(freq) 




timesTrimmedINComplete=processITStimes(results,"_TSIIncomplete") 

print(describe(timesTrimmedINComplete$totaltimemins)) 

freq1=generateQplot(timesTrimmedINComplete$totaltimemins,"histogram", 1) 
print(freq1) 

dev.off() 
######################################################################################## 

generateQplot<-function(dataVector, plotType, binWidthValue) 
{ 
    freq=qplot(dataVector,geom=plotType, binwidth=binWidthValue) 
    return(freq) 
} 


processITStimes<-function(resultsData, statusCode) 
{ 
    completeResults <- resultsData[grep(statusCode, resultsData$Final_Status), ] 
    times <- completeResults[, grep("*duration*", colnames(completeResults))] 
    times[is.na(times)] <- 0 

    times$totaltime <- rowSums(times[,2:ncol(times)]) 
    times$totaltimemins <-round(times$totaltime/60, digits=0) 
    times$rowId<-completeResults$RowId 
    print(statusCode); 
    print(describe(times$totaltimemins)) 


    timesTrimmed<-times[times$totaltimemins<60,] 

    return(timesTrimmed) 

} 



sink() 

回答

0

如果你正在制作ggplots,你总是可以使用ggsave()。所以,你会做

ggsave(plot = freq1, filename = "freq1.pdf", device = "pdf") 

您还可以指定如何大,以使剧情(高/宽/台)等

+0

谢谢,但我正在寻找包括两套描述统计和二一套pdf的直方图 – Jake

+1

哦,我明白了。如果你想要制作一个包含多个对象的PDF文件,最好的办法是创建一个降价文件并将其编辑为pdf。这样你就可以得到你的情节,你也可以从describe函数中打印出来。 对不起,我没有更多的帮助。 –

+0

这很有帮助! – Jake