#!/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
Error in UseMethod("xtable") : no applicable method for 'xtable' applied to an object of class "c('lmerMod', 'merMod')"
--------------------------------------------------------------------------- RRuntimeError Traceback (most recent call last) <ipython-input-109-4e6a2ea4facd> in <module>() ----> 1 latex = xtable.xtable(res[0]) 2 print latex /usr/lib64/python2.7/site-packages/rpy2/robjects/functions.pyc in __call__(self, *args, **kwargs) 84 v = kwargs.pop(k) 85 kwargs[r_k] = v ---> 86 return super(SignatureTranslatedFunction, self).__call__(*args, **kwargs) /usr/lib64/python2.7/site-packages/rpy2/robjects/functions.pyc in __call__(self, *args, **kwargs) 33 for k, v in kwargs.iteritems(): 34 new_kwargs[k] = conversion.py2ri(v) ---> 35 res = super(Function, self).__call__(*new_args, **new_kwargs) 36 res = conversion.ri2py(res) 37 return res RRuntimeError: Error in UseMethod("xtable") : no applicable method for 'xtable' applied to an object of class "c('lmerMod', 'merMod')"
print latex
NULL
latex = xtable.xtable(base.summary(res[0]))
Error in UseMethod("xtable") : no applicable method for 'xtable' applied to an object of class "summary.merMod"
--------------------------------------------------------------------------- RRuntimeError Traceback (most recent call last) <ipython-input-111-1efc3ab99efa> in <module>() ----> 1 latex = xtable.xtable(base.summary(res[0])) /usr/lib64/python2.7/site-packages/rpy2/robjects/functions.pyc in __call__(self, *args, **kwargs) 84 v = kwargs.pop(k) 85 kwargs[r_k] = v ---> 86 return super(SignatureTranslatedFunction, self).__call__(*args, **kwargs) /usr/lib64/python2.7/site-packages/rpy2/robjects/functions.pyc in __call__(self, *args, **kwargs) 33 for k, v in kwargs.iteritems(): 34 new_kwargs[k] = conversion.py2ri(v) ---> 35 res = super(Function, self).__call__(*new_args, **new_kwargs) 36 res = conversion.ri2py(res) 37 return res RRuntimeError: Error in UseMethod("xtable") : no applicable method for 'xtable' applied to an object of class "summary.merMod"