计算LMS分布R GAMLSS的百分位数

时间:2013-09-10 06:37:34

标签: r

是否可以反过来使用GAMLSS?那就是我已经获得了增长图表的LMS点数,我想计算它的百分位数。

数据目前采用以下格式:

AGE,L,M,S

1 个答案:

答案 0 :(得分:2)

你不需要GAMLSS:

我认为你的意思是

参考表rt包含以下列:

年龄,l,m,s

并且在给定的年龄,你有一些价值,例如4岁时身高100厘米

然后你需要一个像这样的功能

sds <- function(age,value){
        m <- approx(rt$age,rt$m,xout=age,rule=1)$y
        l <- approx(rt$age,rt$l,xout=age,rule=1)$y
        s <- approx(rt$age,rt$s,xout=age,rule=1)$y
        ((value/m)**l-1)/(l*s)

}

也许你应该包括性 - 这取决于你想要如何使用这个功能

如果您感兴趣:我已经编写了一个包,用于执行此操作,可以轻松地添加许多不同的引用(并且很容易添加一些)。它仍处于测试阶段,但提供了更方便的数据框架处理方法。

或者你的意思是这个???:

你只有桌子,你想要绘制第90个百分点

然后你需要一个像这样的函数(l,m,s也可以是向量,所以我认为它对你来说很方便):

percval <- function(l,m,s,perc){ (qnorm(perc)*l*s+1)**(1/l) * m }

然后通过

获得第90个百分位的值
percval(rt$l,rt$m,rt$s,0.9)