Hi, I am trying to write a function with the following codes and I would like
it to return the values for "alpha
beta para parab " seperately. Then I would like to use this funstion for
"variable" with factor "a" and "b". But the result
turns out to be a matrix
with element like "Numeric,2" ... I guess they are just the values for
"parab", and we can not even see the two parameters in parab.
parameter <- function(v) {
v1 <- v[v>mean(v)+0.5*sd(v)]
v2 <- v[v<mean(v)-0.5*sd(v)]
alpha=min(v1)
beta=max(v2)
para <- fitgpd(v1,alpha, method="pwmu")$param
parab <- fitgpd((-v2), (-beta), method="pwmu")$param
v1.fit <- qgpd(ppoints(v1, a=0.5), alpha, para[1], para[2])
v2.fit <- qgpd(ppoints((-v2), a=0.5), (-beta), para[1], para[2])
alpha
beta
para
parab
}
tapply(variable, list(a, b),parameter)
I would be grateful if anyone can give me some advice. Many thanks
--
View this message in context:
http://www.nabble.com/Function--return-value-tf3947134.html#a11197159
Sent from the R help mailing list archive at Nabble.com.
You wChange the function 'parameter' sapply(split(variable,list(a,b)),parameter) On 6/19/07, livia <yn19832@msn.com> wrote:> > > Hi, I am trying to write a function with the following codes and I would > like > it to return the values for "alpha > beta para parab " seperately. Then I would like to use this funstion for > "variable" with factor "a" and "b". But the result turns out to be a > matrix > with element like "Numeric,2" ... I guess they are just the values for > "parab", and we can not even see the two parameters in parab. > > > parameter <- function(v) { > v1 <- v[v>mean(v)+0.5*sd(v)] > v2 <- v[v<mean(v)-0.5*sd(v)] > alpha=min(v1) > beta=max(v2) > para <- fitgpd(v1,alpha, method="pwmu")$param > parab <- fitgpd((-v2), (-beta), method="pwmu")$param > v1.fit <- qgpd(ppoints(v1, a=0.5), alpha, para[1], para[2]) > v2.fit <- qgpd(ppoints((-v2), a=0.5), (-beta), para[1], para[2]) > alpha > beta > para > parab > > } > > tapply(variable, list(a, b),parameter) > > > I would be grateful if anyone can give me some advice. Many thanks > -- > View this message in context: > http://www.nabble.com/Function--return-value-tf3947134.html#a11197159 > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help@stat.math.ethz.ch mailing list > 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. >-- Christophe Pallier (http://www.pallier.org) [[alternative HTML version deleted]]
First, to return several values from your function 'parameter', you can
use
a list:
parameter <- function (...) {
...
list(alpha=alpha,beta=beta,para=para,parab=parab)
}
Then, you may use:
sapply(split(variable,list(a,b)), parameter)
(tapply also works but return a matrix of lists)
Christophe Pallier
On 6/19/07, livia <yn19832@msn.com> wrote:>
>
> Hi, I am trying to write a function with the following codes and I would
> like
> it to return the values for "alpha
> beta para parab " seperately. Then I would like to use this funstion
for
> "variable" with factor "a" and "b". But the
result turns out to be a
> matrix
> with element like "Numeric,2" ... I guess they are just the
values for
> "parab", and we can not even see the two parameters in parab.
>
>
> parameter <- function(v) {
> v1 <- v[v>mean(v)+0.5*sd(v)]
> v2 <- v[v<mean(v)-0.5*sd(v)]
> alpha=min(v1)
> beta=max(v2)
> para <- fitgpd(v1,alpha, method="pwmu")$param
> parab <- fitgpd((-v2), (-beta), method="pwmu")$param
> v1.fit <- qgpd(ppoints(v1, a=0.5), alpha, para[1], para[2])
> v2.fit <- qgpd(ppoints((-v2), a=0.5), (-beta), para[1], para[2])
> alpha
> beta
> para
> parab
>
> }
>
> tapply(variable, list(a, b),parameter)
>
>
> I would be grateful if anyone can give me some advice. Many thanks
> --
> View this message in context:
> http://www.nabble.com/Function--return-value-tf3947134.html#a11197159
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> 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.
>
--
Christophe Pallier (http://www.pallier.org)
[[alternative HTML version deleted]]