मैं ggplot का उपयोग कर हिस्टोग्राम पर मनमाने ढंग से पैरामीट्रिक वितरण को कैसे बढ़ा सकता हूं?मैं ggplot का उपयोग कर हिस्टोग्राम पर मनमाने ढंग से पैरामीट्रिक वितरण को कैसे बढ़ा सकता हूं?
मैंने Quick-R example पर आधारित प्रयास किया है, लेकिन मुझे नहीं पता कि स्केलिंग कारक कहां से आता है। क्या यह विधि उचित है? Ggplot का उपयोग करने के लिए मैं इसे कैसे संशोधित कर सकता हूं?
एक उदाहरण इस पद्धति का उपयोग सामान्य और lognormal वितरण overplot इस प्रकार है:
स्पष्ट करने के लिए, मैं y- अक्ष पर मायने रखता है करने के लिए करना चाहते हैं:
## Get a log-normalish data set: the number of characters per word in "Alice in Wonderland"
alice.raw <- readLines(con = "http://www.gutenberg.org/cache/epub/11/pg11.txt",
n = -1L, ok = TRUE, warn = TRUE,
encoding = "UTF-8")
alice.long <- paste(alice.raw, collapse=" ")
alice.long.noboilerplate <- strsplit(alice.long, split="\\*\\*\\*")[[1]][3]
alice.words <- strsplit(alice.long.noboilerplate, "[[:space:]]+")[[1]]
alice.nchar <- nchar(alice.words)
alice.nchar <- alice.nchar[alice.nchar > 0]
# Now we want to plot both the histogram and then log-normal probability dist
require(MASS)
h <- hist(alice.nchar, breaks=1:50, xlab="Characters in word", main="Count")
xfit <- seq(1, 50, 0.1)
# Plot a normal curve
yfit<-dnorm(xfit,mean=mean(alice.nchar),sd=sd(alice.nchar))
yfit <- yfit * diff(h$mids[1:2]) * length(alice.nchar)
lines(xfit, yfit, col="blue", lwd=2)
# Now plot a log-normal curve
params <- fitdistr(alice.nchar, densfun="lognormal")
yfit <- dlnorm(xfit, meanlog=params$estimate[1], sdlog=params$estimate[1])
yfit <- yfit * diff(h$mids[1:2]) * length(alice.nchar)
lines(xfit, yfit, col="red", lwd=2)
यह निम्न साजिश का उत्पादन घनत्व अनुमान के बजाए।
ध्यान दें कि एक सामान्य वितरण शब्दों में सभी के रूप में समझ में नहीं आता है> 0 अक्षर, और मान अलग पूर्णांक हैं; सामान्य निरंतर है। –
सहमत - यह एक आसान डेटासेट के साथ एक खिलौना उदाहरण है। और एक सामान्य वक्र शायद अनुचित है। – fmark