def _r_tobit(self, data, xvars, rbar): """ Estimate tobit with function from r """ r.assign('data', com.convert_to_r_dataframe(data)) rhs = '+'.join(xvars) model = r("vglm(OverallRank ~ "+ rhs +", \ family=tobit(Upper=" + str(rbar) + ", Lower=1), \ data=data, crit='coeff')") if self.opts['verbose']: print(r.summary(model)) out = r.coef(model, matrix=True) out = np.array(out) index = deepcopy(xvars) index.insert(0, 'const') beta = pd.Series(out[:, 0], index=index) return {'beta': beta, 'sigma': out[0, 1]}
def beta(self): return rpy.convert_robj(r.coef(self._estimate))