我有一个包含 11 个名为“env”的列的矩阵,其中 1 个响应变量介于 0 和 1(“R1”)之间,10 个可能的预测变量范围从“P1”到“P10”。我想使用零膨胀 beta 回归(r包和函数“gamlss”)来评估每个预测变量对我的响应变量的单独影响,总结表中每个预测变量的AIC、估计和概率。该表应该将预测变量作为行和模型参数(AIC,估计和概率)作为列。必须针对 beta 分布的三个系数(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
我认为我应该能够通过“for loop”、“lapply”或“apply”和“cbind”的组合来自动化它,但不幸的是我无法让它工作。如果你们中的一些人能帮我一把,那就太好了。非常感谢