如何用rpy2估计Brms模型?

时间:2018-08-10 22:17:13

标签: r rpy2

我正在尝试估算以下模型。该模型使用R中称为brms的程序包。我正在做Python中的所有数据操作。为了连接两种语言,我正在使用rpy2。我可以用brms加载rpy2包,但无法弄清楚估计模型的语法。以下是我想做的一个简单示例。我试图遵循rpy2网站上的文档,但似乎无法正常使用。该代码在R语言中本机运行。如何将其翻译为rpy2

library(brms) 
data("kidney", package = "brms") 
head(kidney, n = 3)

fit1 <- brm(time | cens(censored) ~ age + sex + disease, 
            data = kidney, family = weibull, inits = "0")
summary(fit1)  
plot(fit1)

fit2 <- brm(time | cens(censored) ~ age + sex + disease + (1|patient),
                data = kidney, family = weibull(), inits = "0",
                prior = set_prior("cauchy(0,2)", class = "sd"))
summary(fit2)  
plot(fit2)

1 个答案:

答案 0 :(得分:0)

在Python中,每个非内置属性或对象都必须使用命名空间进行限定。幸运的是,在R中,一切是隐式命名空间中的一个对象!大多数新用户可能不知道,但内置的核心库basestatsutils随每个会话加载。如此多的日常函数,例如read.csvdata.framelapply实际上是库中的方法,可以使用双冒号运算符以Python的样式调用:utils::read_csv(),{{1 }},base::lapply()。要找到此类库,请在R检查方法的文档页面中使用stats::lm()(即?)并在左上角查找。

因此,当然,您只需保留所有R语法,即可遵循Python的语法规则,例如转换点名称,而无需分配?lapply运算符。但是,<-不能以交互方式呈现图形,因此您需要将图形作为图像保存到磁盘,并rpy2保存任何控制台输出。同样,挑战之一可能是内置数据集的加载。下面包括内置R datasets 包中的 mtcars 加载。希望它可以翻译。

print