【问题标题】:Calculate percentiles for LMS distribution R GAMLSS计算 LMS 分布 R GAMLSS 的百分位数
【发布时间】:2013-10-01 21:50:46
【问题描述】:

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

目前数据格式如下:

年龄、L、M、S

【问题讨论】:

    标签: r


    【解决方案1】:

    您不需要 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)
    

    【讨论】:

    • 公式((value/m)**l-1)/(l*s)中使用双星是什么意思@能解释一下吗?
    猜你喜欢
    • 2015-02-14
    • 2015-02-14
    • 1970-01-01
    • 2011-12-29
    • 2013-06-20
    • 2021-02-26
    • 2020-03-19
    • 1970-01-01
    • 2016-07-28
    相关资源
    最近更新 更多