Rpy2 - 选择结果并输出到CSV文件

时间:2013-07-30 14:42:00

标签: output rpy2

我目前正在使用Rpy2进行Cox比例风险建模 - 我想我的问题将涵盖其他功能以及调用它们的结果。

运行函数后,我有一个变量,它以向量的形式包含函数的结果。我已经尝试将其明确转换为DataFrame(resultsDataFrame = DataFrame(resultVector))。执行此操作时没有返回任何错误。但是,当我resultsDataFrame.to_csvfile(filename)时,我收到以下错误:

 Traceback (most recent call last):
 File "<pyshell#171>", line 1, in <module>
 modelFrame.to_csvfile('/Users/fortylashes/Documents/Matthews_Research/Cox_PH/ResultOutput_Exp1.csv')
 File "/Library/Python/2.7/site-packages/rpy2/robjects/vectors.py", line 1031, in to_csvfile
'col.names': col_names, 'qmethod': qmethod, 'append': append})
 RRuntimeError: Error in as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors) : 
 cannot coerce class ""coxph"" to a data.frame

此外,我只是这样做:

 for result in resultVector:
        print (result)

我得到了一个非常长的结果列表 - 包括模型中使用的数据集中每个条目的信息,每个变量(所以9,000条记录x 9个变量= 81,000个不需要的结果)。我真正需要的结果是在这个向量的底部,看起来像这样:

                    coef       exp(coef)  se(coef)      z       p
   age_age6574   -0.057775     0.944      0.05469   -1.056   2.9e-01
   age_age75plus -0.020795     0.979      0.04891   -0.425   6.7e-01
   sex_female    -0.005304     0.995      0.03961   -0.134   8.9e-01
   stage_late    -0.261609     0.770      0.04527   -5.779   7.5e-09
   access        -0.000494     1.000      0.00069   -0.715   4.7e-01

   Likelihood ratio test=36.6  on 5 df, p=7.31e-07  n= 9752, number of events= 2601

*注意:在初始结果中报告的数据还有几个变量(我说的是9,000 x 9)但实际上没有在模型中使用过。

我想知道是否有办法明确获取这些数据,将它放在一个长排序的行中,然后将其输出到csv文件?

:::: UPDATE ::::

当我致电theModel.names时,我会得到一个可以通过数字索引调用的各种度量列表:

 [1] "coefficients"      "var"               "loglik"           
 [4] "score"             "iter"              "linear.predictors"
 [7] "residuals"         "means"             "concordance"      
 [10] "method"            "n"                 "nevent"           
 [13] "terms"             "assign"            "wald.test"        
 [16] "y"                 "formula"           "call"   

由此我可以得到系数,然后可以取幂。但是,我还没有找到我需要的p值,z分数或似然检验比率。

0 个答案:

没有答案