python Rpy2中以下R代码的等效项是什么?
Var1 = c("navy", "darkgreen")
names(Var1) = c("Class1", "Class2")
ann_colors = list(Var1 = Var1)
Run Code Online (Sandbox Code Playgroud)
目前尚不清楚ann_colors。用R评估时,它给出:
> ann_colors
$Var1
Class1 Class2
"navy" "darkgreen"
Run Code Online (Sandbox Code Playgroud)
是robject.ListVector吗?我试过了:
robjects.ListVector({"Class1": "navy", "Class2": "green"})
Run Code Online (Sandbox Code Playgroud)
但这不是完全正确的,因为我不确定如何告诉ListVector对象该对象的名称是Var1,即list(Var1 = Var1)。
如何将其正确翻译为rpy2?
小智 6
如果我正确理解您的问题,那么您正在寻找的是TaggedList:
import rpy2.rlike.container as rlc
Var1 = rlc.TaggedList(["navy","darkgreen"], tags=('Class1', 'Class2'))
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参见http://rpy.sourceforge.net/rpy2/doc-2.2/html/rlike.html。
小智 2
经过几个小时的反复试验,我找到了解决方案。我不完全理解为什么类似的变体不起作用,或者为什么这个方案不能与数据帧互换,但我要做的是:
anno_colors = robj.StrVector(tuple(["navy", "green"]))
anno_colors.names = ["Class1", "Class2"]
od = OrderedDict()
od["Type"] = anno_colors
result = robj.ListVector(od)
print str(result)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
792 次 |
| 最近记录: |