1
我在Ubuntu 1104上使用rpy2。我跟随COX文件。文件中给出的步骤在R中。我必须在使用rpy2的python中执行相同的步骤。 我没有得到任何教程与rpy2。我设法写以下,rpy2-错误(没有丢失)观察
from rpy2.robjects.packages import importr
from rpy2.robjects import IntVector, Formula
import rpy2.robjects as ro
cox = importr("survival")
csv = ro.vectors.DataFrame.from_csvfile('Rossi.txt', header=True, sep=' ')
fmla = Formula('Surv(week, arrest) ~ fin + age + race + wexp + mar + paro + prio')
mod_aalison = cox.coxph (fmla, data=csv)
但我发现了以下错误,
>>> mod_aalison = cox.coxph (fmla, data=csv)
Error in function (formula, data, weights, subset, na.action, init, control, :
No (non-missing) observations
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/rpy2/robjects/functions.py", line 83, in __call__
return super(SignatureTranslatedFunction, self).__call__(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/rpy2/robjects/functions.py", line 35, in __call__
res = super(Function, self).__call__(*new_args, **new_kwargs)
rpy2.rinterface.RRuntimeError: Error in function (formula, data, weights, subset, na.action, init, control, :
No (non-missing) observations
我失去了什么东西?我在R.上没有任何经验。 我不确定函数coxph中的数据是否必须是数据帧格式。 任何帮助表示赞赏。
这是链接Rossi.txt
嗨,mbq,thnks为你的答案。它工作并救了我。另外要指出的是,RPY2正在改变列名,如**逮捕**到** X.arrest。**这不应该发生。 >>> >>> print csv.colnames [1]“X.week。” “X.arrest。” “X.fin。” “X.age。” “X.race。” “X.wexp。” [7]“X.mar。” “X.paro。” “X.prio。” “X.educ。” “X.emp1。” “X.emp2。” [13]“X.emp3”。 “X.emp4。” “X.emp5。” “X.emp6。” “X.emp7。” “X.emp8。”' – Netro
我也是,我用'X < - cbind(var1,var2,... varn)'如何解决这个问题? – 2013-12-19 11:01:32