如何在 rpy2 中将属性设置为向量
How to set an attribute to a vector in rpy2
如何使用 rpy2 向 python 中的向量添加属性。
作为示例,我如何重现此 R 代码:
library(evir)
pot<-c(2.0,3.2,4,5,6,7)
ts<-c(1,6,7,19,20,30)
attr(pot,"times")<-ts
output<-decluster(pot,run=2)
我在网上搜索了几个小时后找不到任何帮助。
我猜 Laurent 有答案 ;-)
使用属性slots
。 S4 对象文档中关于它的描述适用于属性 (http://rpy2.readthedocs.org/en/version_2.7.x/notebooks/s4class.html)。
此处应适用于:
from rpy2.robjects.vectors import FloatVector, IntVector
pot = FloatVector((2.0, 3.2, 4, 5, 6, 7))
ts = IntVector((1,6,7,19,20,30))
pot.slots['times'] = ts
对于 rpy2 < 2.7,你应该使用 do_slot_assign :
pot.do_slot_assign("times",ts)
如何使用 rpy2 向 python 中的向量添加属性。 作为示例,我如何重现此 R 代码:
library(evir)
pot<-c(2.0,3.2,4,5,6,7)
ts<-c(1,6,7,19,20,30)
attr(pot,"times")<-ts
output<-decluster(pot,run=2)
我在网上搜索了几个小时后找不到任何帮助。 我猜 Laurent 有答案 ;-)
使用属性slots
。 S4 对象文档中关于它的描述适用于属性 (http://rpy2.readthedocs.org/en/version_2.7.x/notebooks/s4class.html)。
此处应适用于:
from rpy2.robjects.vectors import FloatVector, IntVector
pot = FloatVector((2.0, 3.2, 4, 5, 6, 7))
ts = IntVector((1,6,7,19,20,30))
pot.slots['times'] = ts
对于 rpy2 < 2.7,你应该使用 do_slot_assign :
pot.do_slot_assign("times",ts)