से नहीं मिला मैं साइटों है कि मैं के लिए ggplots उत्पादन, changepoint पैकेज का उपयोग साधन में परिवर्तन दिखाने का एक नंबर के लिए समय श्रृंखला डेटा की एक csv है। मैंने एक ऐसा फ़ंक्शन लिखा है जो सीएसवी लेता है, साधनों को प्राप्त करने के लिए कुछ गणना करता है, फिर प्रत्येक के लिए एक साजिश उत्पन्न करने वाली साइटों के माध्यम से लूप करता है। मेरी समस्या यह है कि लूप में बनाई गई वस्तु नहीं मिली है।वस्तु समारोह के अंदर बनाया ggplot
एक बहुत ही सरल उदाहरण नीचे है, लेकिन एक ही त्रुटि पैदा करता है:
df1 <- data.frame(date = seq(as.Date("2015-01-01"), as.Date("2015-01-10"),
by = "day"),
site1 = runif(10),
site2 = runif(10),
site3 = runif(10))
example <- function(df1){
sname <- names(df1)[-1]
for (i in 1:length(sname)){
df2 <- df1[,c(1, 1+i)]
df2$label <- factor(rep("ts", by=length(df2[,1])))
plot <- ggplot()+
geom_point(data=df2, aes(x=date, y=df2[,2]))+
geom_line(data=df2, aes(x=date, y=df2[,2]))
sname.i<-sname[i]
filename<-paste0(sname.i, "-test-plot.pdf")
ggsave(file=filename, plot)
}
}
example(df1)
त्रुटि मैं मिलता है: "eval त्रुटि (expr, माहौल, enclos): ऑब्जेक्ट 'df2' नहीं मिला"
मुझे पूरा यकीन नहीं है कि समस्या क्या है क्योंकि मैंने अतीत में काम करने वाले समान लूप बनाए हैं। यदि मैं लूप के भीतर कोड के माध्यम से एक मूल्य आवंटित करता हूं और यह ठीक काम करता है। मैं पर्यावरण की समस्या सोच रहा हूँ? या ggsave कुछ wiggy कर रहा है? किसी भी मदद/पॉइंटर्स आभारी रूप से प्राप्त किया। धन्यवाद।
जब मैं अपने कोड चलाने के लिए, समस्या 'sname' है। इस चर के बिना परिभाषित किया जा रहा है, 'मैं भी अनिश्चित रहता है, और फिर भी' df2' होता है। – vaettchen
@vaettchen। क्या आपने पूरा फ़ंक्शन या लूप चलाया था?मैंने अपने घर के कंप्यूटर पर उदाहरण समारोह फिर से चलाया और अभी भी ऊपर बताए गए त्रुटि को प्राप्त किया है। यह मेरे लिए df2 पर विफल रहता है। – Bart
समस्या को सही ढंग से निर्दिष्ट करने के लिए प्रश्न शीर्षक संपादित किया गया। –