Моя цель - создать индивидуальные сюжеты для каждого предмета в моем исследовании. Прежде всего предметы из разных учебных мест. Я уже создал папки разных учебных сайтов (Site1 и Site2). У Site1 есть 2 предмета, и у Site2 есть 1 предмет. Каждый предмет имеет несколько временных точек (дней). Я также создал подпапки для каждого предмета в папке каждого учебного сайта. В подпапках я сохраню различные графики для каждого предмета.
Вот что я сделал. Поэтому я хочу сделать продольный сюжет. Поскольку я буду делать несколько графических изображений для каждого предмета, я хочу, чтобы имена изображений были такими, как ID_plot1, ID_plot2 и son on. Я показываю пример с двумя учебными площадками и только одним участком. На самом деле мои данные больше этого.
## create variables
Site <- c("Site1", "Site1", "Site1", "Site1", "Site1", "Site1", "Site1", "Site1", "Site2", "Site2")
ID <- c("00184","00184", "00184", "00184", "00274", "00274", "00274", "00274", "00679", "00679")
Days <- c(0,1,7,14,0,1,7,14,1,7)
Burden <- c(0.276160910, 0.169563965, 0.016059574, 0.006127718, 0.147416155, 0.009835100, 0.005489384, 0.010319001, 0.008111097, 0.001718116)
## create the dataset
dataset <- as.data.frame(cbind(Site, ID, Days, Burden))
#create folders and sub-folders
req(icesTAF)
for(a in unique(dataset$Site)){
for (b in unique(dataset$ID[dataset$Site==a])){
mkdir(paste0("../graphic/", a, "/",b))
}
}
## nested loop to create save as png file
for (i in unique(dataset$Site)){
for (j in unique(dataset$ID)){
png(filename=paste0("../graphic/", i,"/",j, "/", j,"_plot1", ".png"),
width = 7,
height= 5,
unit ="in",
res = 400)
plot(dataset$Days[dataset$ID %in% j][dataset$Site %in% i],
dataset$Burden[dataset$ID %in% j][dataset$Site %in% i],
type="b",
main="Burden Over time",
xlab="Time",
ylab="Burden")
dev.off()
}
}
Но я получаю сообщение об ошибке ниже:
Error in dev.off() :
QuartzBitmap_Output - unable to open file '../graphic/Site1/00679/00679_plot1.png'
Насколько я понимаю, R пытается сохранить сюжет предмета # 00679в подпапке с ее именем в папке «Site1», которая на самом деле не существует. Действительно, тема № 00679 фактически принадлежит «Site2». Графики для двух предметов в «Site1» были созданы и сохранены должным образом, но сюжет для предмета № 00679 в «Site2» так и не был создан. Будем очень благодарны за любую помощь в оптимизации моего кода, чтобы он создавал и сохранял отдельные графики для каждого предмета соответствующим образом в определенных папках и подпапках. Спасибо.