में ओवरले एकाधिक stat_function कॉल मेरे पास दो डेटा हैं। फ्रेम, जिनमें कच्चा डेटा होता है और अन्य जिसमें मॉडलिंग गुणांक होते हैं जिन्हें मैंने कच्चे डेटा से प्राप्त किया है।ggplot2
अधिक जानकारी: पहला डेटा। फ्रेम "कच्चे" में कई प्रकार और चार रनों के लिए "टाइम" (900 से 9 0) और "ओडी" शामिल है। दूसरा डेटा। फ्रेम "कोफ" में उस पंक्ति में व्यक्तिगत गुणांक ("एम", "डी .1" और "टी 0.1") के साथ एक पंक्ति प्रति संस्करण/रन संयोजन होता है।
मैंने प्रति संस्करण कच्चे डेटा विभाजन और runID द्वारा रंगीन, कोई समस्या नहीं बनाई है। लेकिन अब मैं runID के अनुसार मॉडल वक्र ओवरले करना चाहता हूँ।
चूंकि मॉडलिंग गुणांक एक अलग डेटा में हैं। फ्रेम (विभिन्न आयामों के साथ, इसलिए मैं उन्हें केवल cbind नहीं कर सकता), stat_function मेरे लिए काम नहीं करेगा। मैं एक समय में वक्र दिखा सकता हूं।
मैं के लिए एक() {} पाश के साथ की कोशिश की है, एक stat_function परत हर बार जोड़ने: अंत में
p <- ggplot(temp, aes(Time, OD)) + geom_point(aes(colour = runID), size = 2) #works fine!
calc <- function(x){temp.n$M[ID] * (1 - exp(temp.n$D.1[ID] * temp.n$t0.1[ID] - x)))}
for(ID in 1:length(unique(temp.n$runID))) {
p <- p + stat_function(fun = calc)
}
print(p)
, सभी "पी" रिटर्न कच्चे डेटा की साजिश और अंतिम अवस्था है लूपिंग बिट से। हर बार जब मैं एक नई "stat_function" परत जोड़ने की कोशिश करता हूं तो "पी" अपने मूल स्थिति में वापस आ जाता है।
कोई विचार?
शायद सबसे आसान फिक्स डेटा.फ्रेम को मर्ज करना होगा। क्या यह व्यवहार्य है? – DrewConway
क्या आप एक पुनरुत्पादित उदाहरण प्रदान कर सकते हैं? समस्या वेरिएबल स्कोपिंग का उपयोग है। – hadley