【发布时间】:2016-01-05 11:27:10
【问题描述】:
我想知道是否有人可以提供以下代码。我有一个巨大的数据集(> 1000 个主题),我试图单独对其进行可视化。
我很幸运地找到了由 R-bloggers 编写的 Tony Cookson 编写的代码,我已经对其进行了修改以供我使用。代码工作正常,但生成的 pdf 文件已损坏 - 基本上他们拒绝打开。我感觉某处有错误,但我还没有弄清楚在哪里。任何帮助将不胜感激。
library(lattice)
names = LETTERS[1:3]
for(i in 1:3){
mypath <- file.path("myFilepath", "folder containing 'Plots' subfolder ",
"Plots",paste("myplot_", names[i], ".pdf", sep = ""))
pdf(file=mypath)
mytitle = paste("Theoph Plots", names[i])
xyplot(conc ~ Time | Subject, group = Subject, data = Theoph, type = "l",
layout = c(2, 2), main = mytitle)
dev.off()
}
为了使代码可重现,您需要将 myFilepath、包含“Plots”子文件夹和“Plots”的文件夹替换为计算机上可以找到的实际文件夹的名称。有关更多详细信息,请参阅 R-bloggers 上的原件。我很乐意澄清任何看起来模棱两可的事情。
谢谢
编辑:
library(lattice)
names = LETTERS[1:3]
for(i in 1:3){
mypath <- file.path("myFilepath", "folder containing 'Plots' subfolder ",
"Plots",paste("myplot_", names[i], ".pdf", sep = ""))
pdf(file=mypath)
mytitle = paste("Theoph Plots", names[i])
print(xyplot(conc ~ Time | Subject, group = Subject, data = Theoph, type = "l",
layout = c(2, 2), main = mytitle))
dev.off()
}
我已经设法使用打印功能找到了一个临时解决方案(上图)。但是,我目前正在同一个 pdf 中获取所有 12 个主题。我真正想要的是 4 个主题(2 x 2 矩阵)放在单独的 pdf 上,因此总共制作 3 个 pdf。有人知道怎么做吗?
【问题讨论】:
-
print功能让您非常满意。如果您希望每个主题一个 PDF,请从您的xyplot中删除group = Subject并替换数据参数:data = Theoph[Theoph$Subject == i, ]。你想在四个地块中的每一个中得到什么? -
@BenBarnes,感谢您的回复。我想要的是每个 plot/pdf 上的 4 个主题,总共 3 个 pdf。目前,它在同一个 pdf 上给了我所有 12 个主题,但在 pdf 的不同页面上。我已经尝试过你的建议,但结果并不完全是我想要的!