कल मैंने आर को संस्करण 3.0.0 और ggplot2 को संस्करण 0.9.3.1 में अपग्रेड किया (और मेरी स्क्रिप्ट में कुछ मामूली परिवर्तन किए)। अब मुझे भूखंडों को बचाने का प्रयास करते समय त्रुटियां मिल रही हैं - दुर्भाग्यवश त्रुटि को छोटे डेटाफ्रेम के साथ पुन: उत्पन्न नहीं किया गया है, इसलिए मैंने एक ही आकार में से एक उत्पन्न करने के लिए कोड शामिल किया है। 'गहराई' वर्ग "शून्य का एक उद्देश्य के लिए लागू करने के लिए कोई लागू विधि: UseMethod (" गहराई ") मेंआर में लूप को सहेजना
त्रुटि:
library("ggplot2") # Create data frame # Time interval ID (x) bin.ts.avg <- as.data.frame(rep(1:18, 31)) names(bin.ts.avg) <- "x" # Time (sequence of 10 minuter intervals between 7am and 10am) tt.month.bins <- seq(from=as.POSIXct("2012-01-01 GMT"), to=as.POSIXct("2012-01-01 GMT") + 60*60*24*31, by="10 mins") tt.month.bins <- tt.month.bins[-length(tt.month.bins)] temp <- as.numeric(format(tt.month.bins, "%H")) ind <- which(temp >=7 & temp <= 9) tt.month.bins <- tt.month.bins[ind] bin.ts.avg$dep <- tt.month.bins # Value (with some NA) bin.ts.avg$tt <- runif(558, min=2.5, max=5) bin.ts.avg$tt[trunc(runif(200, min=1, max=558))] <- NA # Day bin.ts.avg$depday <- rep(1:31, each=18) for (i in 1:2){ if (1){ hist(rnorm(100)) dev.print(file="MyHist.png",device=png, bg="white", width=640, height=352) p <- ggplot(bin.ts.avg, aes(x, tt)) + geom_point() +geom_line() + facet_grid(.~depday) p <- p + ggtitle("10 minute averages")+ xlab("Hour") + ylab("Values") p <- p + scale_x_continuous(breaks=c(min(bin.ts.avg$x), max(bin.ts.avg$x)), labels=c("7", "10")) print(p) dev.print(file="MyGGPlot.png",device=png, bg="white", width=640, height=352) } }
इस स्क्रिप्ट चलाने पर, मैं निम्नलिखित त्रुटि संदेश मिलता है "
हालांकि, अगर मैं लाइन द्वारा स्क्रिप्ट लाइन चलाता हूं तो सब कुछ ठीक हो जाता है (नीचे चित्र)। अब अगर मैं पाश के लिए बदल सकते हैं और dev.copy का उपयोग करें और "MyGGPlot.png" खोलने के लिए पेंट का उपयोग कर प्रयास कर रहा पर
for (i in 1:2){
if (1){
hist(rnorm(100))
dev.copy(file="MyHist.png",device=png, bg="white", width=640, height=352)
dev.off()
p <- ggplot(bin.ts.avg, aes(x, tt)) + geom_point() +geom_line() + facet_grid(.~depday)
p <- p + ggtitle("10 minute averages")+ xlab("Hour") + ylab("Values")
p <- p + scale_x_continuous(breaks=c(min(bin.ts.avg$x), max(bin.ts.avg$x)), labels=c("7", "10"))
print(p)
ggsave(filename="MyGGPlot.png")
}
}
नीचे के रूप में dev.print के बजाय ggsave, मैं बताते हुए एक त्रुटि संदेश प्राप्त
A sharing violation occurred while accessing <filename>
मैं RStudio संस्करण 0.97.449 का उपयोग कर स्क्रिप्ट चलाता हूं। वर्तमान भूखंडों को बचाने के लिए मुझे क्या बदलने की जरूरत है इस पर कोई विचार?
प्रत्येक पाश के भीतर, डिवाइस खोलने का प्रयास करें (उदा। 'png()'), और अपनी साजिश से पहले एक अद्वितीय फ़ाइल नाम दें। फिर 'dev.off() 'के साथ लूप के अंत में डिवाइस बंद करें। –