Python rpy2错误-无(非缺失)观测值

Python rpy2错误-无(非缺失)观测值,python,r,rpy2,Python,R,Rpy2,我正在Ubuntu 1104上使用rpy2。我在看文件。文件中给出的步骤在R中。我必须使用rpy2在python中执行相同的步骤。 我没有得到任何关于rpy2的教程。我设法写了以下内容: from rpy2.robjects.packages import importr from rpy2.robjects import IntVector, Formula import rpy2.robjects as ro cox = importr("survival") csv = ro.vector

我正在Ubuntu 1104上使用rpy2。我在看文件。文件中给出的步骤在R中。我必须使用rpy2在python中执行相同的步骤。 我没有得到任何关于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
>>mod_aalison=cox.coxph(fmla,data=csv)
函数中的错误(公式、数据、权重、子集、na.action、init、control、:
无(非缺失)观察结果
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/lib/python2.7/dist packages/rpy2/robjects/functions.py”,第83行,在调用中__
返回super(SignatureTranslatedFunction,self)。\调用(*args,**kwargs)
文件“/usr/lib/python2.7/dist packages/rpy2/robjects/functions.py”,第35行,在调用中__
res=super(函数,自).\uuuuuuuuu调用(*新参数,**新参数)
rpy2.rinterface.rrontimeerror:函数中的错误(公式、数据、权重、子集、na.action、init、控件等):
无(非缺失)观察结果
我遗漏了什么吗?我以前没有R方面的经验。 我不确定coxph函数中的if数据是否必须是数据帧格式。 感谢您的帮助


这是指向

的链接。您使用
read.csv
读取数据,sep设置为单个空格,而文件有两个空格。这使R将其解释为存在空列,然后与列名混淆,最后在
coxph
中产生错误


Read.table
读取数据,应该没问题。

嗨,mbq,你的ans的thnks。它工作了,救了我。还要指出的是,RPY2正在将列名更改为X.restart。这不应该发生。
>>打印csv.colnames[1]“X.week.”“X.restart.”“X.fin.”“X.age.”“X.race.”“X.wexp.”[7]“X.mar.”“X.paro”,“X.prio”,“X.educ”,“X.emp1”,“X.emp2”,“X.emp3”,“X.emp4”,“X.emp5”,“X.emp6”,“X.emp7”,“X.emp8。”
Me,我也使用
X