如何在表中自动化零膨胀的beta回归报告结果?

时间:2015-09-30 06:33:27

标签: r loops automation modeling non-linear-regression

我有一个11列的矩阵,名为" env",1个响应变量在0到1之间(" R1")和10个可能的预测值,范围从" P1到" P10"。我想使用零膨胀的β回归(r包和函数" gamlss")来评估每个预测变量对我的响应变量的个体影响,总结AIC,估计和表中每个预测变量的概率。该表应将预测变量作为行和模型参数(AIC,估计和概率)作为列。必须针对β分布的三个系数(MU,NU和SIGMA)单独重复该过程。

这是我的数据矩阵的一个子集(很抱歉无法按照指南模拟它)

P1  P2  P3  P4  P5  P6  P7  P8  P9  P10 R1
600 243.89  2.68    180.32  1753.62 5.15    16.11   46.59   1.52    0.96    0.04
674 259.43  1.49    174.06  1230.71 5.50    19.42   45.65   1.62    0.88    0.28
231 156.19  0.00    151.68  1002.93 5.22    12.76   50.38   1.63    1.00    0.00
624 256.53  8.58    181.32  1194.07 5.35    25.33   58.74   1.33    0.94    0.36
773 346.91  15.59   180.17  1665.10 4.99    26.65   39.74   1.13    0.93    0.21
468 186.84  6.13    172.11  1570.75 5.34    18.72   38.52   1.55    0.97    0.10
340 478.28  14.68   169.06  1685.20 4.81    14.17   112.48  1.65    0.98    0.00
719 401.34  14.57   180.84  1824.18 4.74    13.46   129.70  1.67    0.98    0.00
603 831.58  7.79    158.69  1675.99 5.49    35.08   109.76  1.40    0.62    0.00
355 463.96  3.39    174.65  1987.08 4.26    25.69   85.57   1.56    0.98    0.03
527 560.11  32.18   175.29  2661.40 4.69    50.79   84.67   1.30    0.92    0.14
603 313.94  20.98   163.86  3211.07 4.60    45.15   86.36   1.36    0.93    0.02
508 571.58  40.62   118.69  2842.65 5.11    53.89   57.88   1.31    0.99    0.13
270 191.50  0.35    176.33  3280.57 4.75    51.99   127.10  1.29    0.51    0.12
353 770.72  0.05    173.76  2079.63 5.46    39.12   141.40  1.26    0.51    0.16
166 488.43  12.40   164.20  2692.61 4.55    41.28   107.06  1.40    0.91    0.13
881 316.41  32.43   156.37  2883.55 4.15    29.20   71.32   1.59    0.89    0.21
013 734.83  20.08   156.98  2044.81 4.72    49.62   113.42  1.35    0.98    0.20
526 452.85  33.85   164.58  1795.64 5.01    26.16   87.38   1.54    0.95    0.06

下面是具有3个系数的gamlss函数的语法:

m1.mu<-gamlss(formula= R1~P1, family=BEZI, data=env, method=RS(100))
m1.nu<-gamlss(formula= R1~P1, nu.formula= R1~P1, family=BEZI, data=env, method=RS(100)) 
m1.si<-gamlss(formula= R1~P1,si.formula= R1~P1, family=BEZI, data=env, method=RS(100)) 

这是我想要得到的表的结构:

    AIC.mu  EST.mu  PROB.mu AIC.nu  EST.nu  PROB.nu AIC.si  EST.si  PROB.si
P1                                  
P2                                  
P3                                  
 …                                  
P10                                 

我认为我应该能够通过&#34; for循环&#34;,&#34; lapply&#34;的组合来实现自动化。或者&#34;申请&#34;和&#34; cbind&#34;但不幸的是我无法让它发挥作用。如果你们中的一些人可以帮助我,那会很棒。非常感谢

0 个答案:

没有答案