#!/usr/bin/env python import pandas.rpy.common as com import pandas as pd import numpy as np import rpy2.robjects as robjects from rpy2.robjects.packages import importr nlme = importr('nlme') lme4 = importr('lme4') base = com.importr('base') stats = com.importr('stats') xtable = importr('xtable') stargazer = importr('stargazer') texreg = importr('texreg') #formulae strings: formulae = [ 'RT~1', 'RT~cat1', 'RT~cat1+cat2', ] randoms = [ '~1|ID' ] for idx, formula in enumerate(formulae): formulae[idx] = robjects.Formula(formula + ' + (1|ID)') # make a formula obect #formulae[idx] = robjects.Formula(formula) # make a formula obect for idx, random in enumerate(randoms): randoms[idx] = robjects.Formula(random) # make a formula obect mydata = pd.DataFrame.from_csv('http://chymera.eu/data/test/r_data.csv', parse_dates=False, index_col=False) mydata['ID'] = mydata['ID'].astype('S8') dfr = com.convert_to_r_dataframe(mydata, True) # convert from pandas to R and make string columns factors res = [] for formula in formulae: #lme_res = nlme.lme(fixed=formula, data=dfr, random=randoms[0], method='ML') lme_res = lme4.lmer(formula=formula, data=dfr, REML='false') res.append(lme_res) latex = xtable.xtable(res[0]) print latex print latex latex = xtable.xtable(base.summary(res[0]))