On 10/14/2015 05:00 AM, r-help-requ...@r-project.org wrote:
I am trying to fit this data to a weibull distribution:

My y variable is:1  1  1  4  7 20  7 14 19 15 18  3  4  1  3  1  1  1
1  1  1  1  1  1

and x variable is:1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18
19 20 21 22 23 24


One could always use existing R functions that fit a Weibull regression, instead of reinventing the wheel.

library(survival)
y <- scan()
1  1  1  4  7 20  7 14 19 15 18  3
4  1  3  1  1  1
1  1  1  1  1  1

wfit <- survreg(Surv(1:24) ~ 1, weights=y, dist="weibull")
wfit

Call:
survreg(formula = Surv(1:24) ~ 1, weights = y, dist = "weibull")

Coefficients:
(Intercept)
   2.352121

Scale= 0.4130924

Loglik(model)= -351.4   Loglik(intercept only)= -351.4
n= 24


zz <- seq(0, 25, length=100)
plot(zz, dsurvreg(zz, 2.352121, 0.4130924), col=2, type='l', ylim=c(0, .15),
        xlab="Value", ylab="Density")
points(1:24, y/sum(y))

-----
There are a half dozen ways to parameterize a Weibull distribution; the location-scale form used by survreg is one of the less common. See help(survreg) for more information -- look at the example near the bottom of the page.

Terry Therneau

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to