मैं ggplot
पर जीएलएम से फिट फ़ंक्शन जोड़ना चाहता हूं। डिफ़ॉल्ट रूप से, यह स्वचालित रूप से साक्षात्कार के साथ साजिश बनाते हैं। मैं सोच रहा हूं, अगर मैं बिना किसी बातचीत के मॉडल से फिट फ़ंक्शन प्लॉट कर सकता हूं। उदाहरण के लिए,ggplot जीएलएम बातचीत के बिना फिट वक्र
dta <- read.csv("http://www.ats.ucla.edu/stat/data/poisson_sim.csv")
dta <- within(dta, {
prog <- factor(prog, levels=1:3, labels=c("General", "Academic", "Vocational"))
id <- factor(id)
})
plt <- ggplot(dta, aes(math, num_awards, col = prog)) +
geom_point(size = 2) +
geom_smooth(method = "glm", , se = F,
method.args = list(family = "poisson"))
print(plt)
हालांकि, मैं मॉडल से भूखंड चाहते हैं,
`num_awards` = ß0 + ß1*`math` + ß2*`prog` + error
मैं इस इस तरह से प्राप्त करने की कोशिश, देता
mod <- glm(num_awards ~ math + prog, data = dta, family = "poisson")
fun.gen <- function(awd) exp(mod$coef[1] + mod$coef[2] * awd)
fun.acd <- function(awd) exp(mod$coef[1] + mod$coef[2] * awd + mod$coef[3])
fun.voc <- function(awd) exp(mod$coef[1] + mod$coef[2] * awd + mod$coef[4])
ggplot(dta, aes(math, num_awards, col = prog)) +
geom_point() +
stat_function(fun = fun.gen, col = "red") +
stat_function(fun = fun.acd, col = "green") +
stat_function(fun = fun.voc, col = "blue") +
geom_smooth(method = "glm", se = F,
method.args = list(family = "poisson"), linetype = "dashed")
क्या यह कुशलतापूर्वक करने के लिए ggplot
में कोई आसान तरीका है?
धन्यवाद, लेकिन मैं यह काफी क्या ओ पी चाहता है करता नहीं लगता। "बातचीत के बिना" का अर्थ है कि वे एक योजक ('~ गणित + प्रोग ') मॉडल की भविष्यवाणियों को साजिश करना चाहते हैं ... –
ठीक है, आपके उत्तर की तुलना में साजिश पाने के लिए सबसे कम तरीका दिखता है। "इंटरैक्शन के बिना" और 'num_awards = ß0 + ß1 * गणित + ß2 * प्रोग + त्रुटि' मुझे लगता है कि ओपी की तलाश में मामूली प्रभाव था। – Daniel
... मैंने 'sjp.glm (mod, type =" y.pc ", axisLabels =" math ") की कोशिश की, जो मुझे लगता है कि ओपी चाहता है, एसजेप्लॉट संस्करण 1.9.4.2 (गीथूब से ताजा, जब तक मैं खराब हो गया) और एक खाली साजिश और एक चेतावनी संदेश मिला ... –