R:将文本和图形输出为pdf

时间:2017-04-07 18:49:44

标签: 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()

1 个答案:

答案 0 :(得分:0)

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

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

您还可以指定制作绘图的大小(高度/宽度/单位)等。