从 rpy2 中的 R lme 模型中提取系数
extract coefficients from R lme model in rpy2
我需要使用 rpy2 提取在 python 中调用的 R lme 模型的结果。用 rx2 提取系数如下:
model = nlme.lme(fixed=fixed, data=dfr, random=random, method="REML")
print model.rx2("coefficients")
产生所有系数如下:
$fixed
(Intercept) log.var1
12.571692 -2.929928
$random
$random$item
(Intercept) log.var1
12545646546 -5.189606e-16 8.276929e-16
$random$category
(Intercept) log.var1
0001544848484/DLMX -3.1909917 2.3938670
我想在模型的固定部分提取 log.var1
的系数。我尝试了以下,但我得到了 NULL
print model.rx2("coefficients$fixed[2]")
#gives NULL
如何获得 log.var1 的系数?
方法rx2
对应R的[[
,我理解为等同于$
。
考虑到这一点,您可以像访问 "coefficients":
一样在 "coefficients" 中访问名为 "fixed" 的项目
# Python sequences are zero-based
model.rx2("coefficients").rx2("fixed")[1]
或
# R vectors are one-based (so 1+1=2)
model.rx2("coefficients").rx2("fixed").rx(2)
我需要使用 rpy2 提取在 python 中调用的 R lme 模型的结果。用 rx2 提取系数如下:
model = nlme.lme(fixed=fixed, data=dfr, random=random, method="REML")
print model.rx2("coefficients")
产生所有系数如下:
$fixed
(Intercept) log.var1
12.571692 -2.929928
$random
$random$item
(Intercept) log.var1
12545646546 -5.189606e-16 8.276929e-16
$random$category
(Intercept) log.var1
0001544848484/DLMX -3.1909917 2.3938670
我想在模型的固定部分提取 log.var1
的系数。我尝试了以下,但我得到了 NULL
print model.rx2("coefficients$fixed[2]")
#gives NULL
如何获得 log.var1 的系数?
方法rx2
对应R的[[
,我理解为等同于$
。
考虑到这一点,您可以像访问 "coefficients":
一样在 "coefficients" 中访问名为 "fixed" 的项目# Python sequences are zero-based
model.rx2("coefficients").rx2("fixed")[1]
或
# R vectors are one-based (so 1+1=2)
model.rx2("coefficients").rx2("fixed").rx(2)