2012-02-29 65 views
2

更改數據框的列名我想要做的該R代碼相當於:如何使用rpy2

m2 <- cbind(1,2) 
colnames(m2) <- c("x","Y") 

當我做

import rpy2.robjects as R 
m2 = R.r['cbind'](1,2) 
R.r['colnames'](m2) = R.StrVector(['x','y']) 

我得到這個錯誤:

SyntaxError: can't assign to function call 

我試過

>>> m2 = R.r['colnames'](m2, R.StrVector(['x','y'])) 
>>> print m2 

[1] "x1" "y2" 

而且

>>> params = {'do.NULL':False} 
>>> m2 = R.r['colnames'](R.StrVector(['x','y']), m2, **params) 
>>> print m2 

[1] "11" "21" 

這兩者不給我想要的結果。那麼如何使用colnames來改變數據框的列名呢?

回答

6

如果有人想知道,答案是:

m2.colnames = R.StrVector(['x','y']) 
+0

偉大的職位!這是rPy2用戶非常有價值的信息。 – 2017-01-29 22:52:00