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

3

我想要执行与以下 R 代码相当的操作:

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来改变数据框的列名?

1个回答

11
如果有人想知道,答案是:
m2.colnames = R.StrVector(['x','y']) 

很棒的文章!这对于rPy2用户来说是非常有价值的信息。 - edesz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接