我创建了一个标题名列表,然后修改了我找到的这里函数
mcollist<-list(A,B,C,D)# where A,B,C and D are dataframes
namelist<-c("A","B","C","D")
for(i in 1:length(namelist)){
mypath <- file.path("C:","Users","myname","Desktop","PLOTS",paste("myplot_", namelist[i], ".jpeg", sep = ""))
jpeg(file=mypath)
mytitle = paste("my title is", namelist[i])
multicolplot<-lapply(mcollist,function(data){pairs(data)})##this is a function that is creating multicollinearity plot for multiple
##datasets stored as a list in 'mcollist'.
dev.off()
}当我得到正确的“情节数目”时,也就是我创建的列表中的名字一样多。地块都是相同的数据集。我没有发现任何错误,所以我不知道问题在哪里
要多次保存的同一绘图是多个功能在其上运行的最后一个图。
编辑
使用相同的函数保存Correlogram,将无法工作
for(i in 1:length(data1)){
mypath <- file.path("C:","Users","myname","Desktop","PLOTS",paste("myplot_", data1[i], ".jpeg", sep = ""))
jpeg(file=mypath)
mytitle = paste("Correlogram for", data1[i])
{
a`cf(data1[,i],na.action=na.pass,main=paste(names(data1)[i]))`
}
dev.off()
}Data1是一个包含变量(作为列)的数据文件,我希望在其上运行由以下代码实现的acf测试:
acf(data1[,i],na.action=na.pass,main=paste(names(data1)[i]))它在data1的每个列上运行acf,忽略'na‘值,然后粘贴来自data1列名的名称。
我得到以下错误:
Error in jpeg(file = mypath) : unable to start jpeg() device
In addition: Warning messages:
1: In jpeg(file = mypath) :
unable to open file 'C:/Users/myname/Desktop/PLOTS/myplot_c(0.62, 1.13, 2.53, -0.97, 0.82, 3.9, 1.77, -0.85, 2.57, -1.1, 1.67, 1.38, 0.67, 2.73, 1.32, 0.84, 0.65, 0.96, -0.86, 0.97, 0.7, 1.05, -0.26, 0.04, 1.14, 1.46, 2.08, 1.2, 2.53, 2.49, 2.79, 2.16, 2.3, -1.29, 0.49, -1.28, 1.78, 1.26, -1.71, -3.89, 1.45, 2.2, 2.26, 1.13, 2.82, 0.83, -0.91, -0.02, 0.79, 0.71, 0, 1.37, 2.81).jpeg' for writing
2: In jpeg(file = mypath) : opening device failed谢谢你的帮忙
发布于 2015-02-21 19:33:06
代码中的问题是,您试图使用两个循环(显式循环和隐式循环,分别使用for循环和隐式循环lapply循环)来迭代一个列表。因此,您可以简化代码,如下面的示例所示:
namelist<-c("A","B","C","D")
mcollist <- split(as.data.frame(matrix(runif(60),ncol=3)),rep(1:4,each=5))
names(mcollist) <- namelist
for(i in 1:length(namelist)){
jpeg(file=sprintf('~/RR%s.jpeg',namelist[i]))
mytitle = paste("my title is", namelist[i])
pairs(mcollist[[i]],main=mytitle)
dev.off()
}它生成四个具有不同情节的文件(这里只显示了前两个):


https://stackoverflow.com/questions/28649680
复制相似问题