如何使用rpy2更改数据框的列名

Nie*_*ein 2 r dataframe rpy2

我想做相当于这个R代码:

m2 <- cbind(1,2)
colnames(m2) <- c("x","Y")
Run Code Online (Sandbox Code Playgroud)

当我做

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

我收到此错误:

SyntaxError: can't assign to function call
Run Code Online (Sandbox Code Playgroud)

我试过了

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

[1] "x1" "y2" 
Run Code Online (Sandbox Code Playgroud)

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

[1] "11" "21"
Run Code Online (Sandbox Code Playgroud)

哪两个都没有给出我想要的结果.那么如何使用colnames来更改数据框的列名?

Nie*_*ein 8

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

m2.colnames = R.StrVector(['x','y']) 
Run Code Online (Sandbox Code Playgroud)