[英]translating named list vectors from R into rpy2 in Python?
python Rpy2中以下R代碼的等效項是什么?
Var1 = c("navy", "darkgreen")
names(Var1) = c("Class1", "Class2")
ann_colors = list(Var1 = Var1)
尚不清楚ann_colors
是什么。 用R評估時,它給出:
> ann_colors
$Var1
Class1 Class2
"navy" "darkgreen"
它是robject.ListVector
嗎? 我試過了:
robjects.ListVector({"Class1": "navy", "Class2": "green"})
但這不是完全正確的,因為我不確定如何告訴ListVector對象該對象的名稱是Var1
,即類似於list(Var1 = Var1)
。
如何將其正確翻譯為rpy2?
如果我正確理解您的問題,那么您正在尋找的是TaggedList:
import rpy2.rlike.container as rlc
Var1 = rlc.TaggedList(["navy","darkgreen"], tags=('Class1', 'Class2'))
有關更多詳細信息,請參見http://rpy.sourceforge.net/rpy2/doc-2.2/html/rlike.html 。
經過數小時的反復試驗,我找到了解決方案。 我不完全理解為什么與此類似的變體不起作用,或者為什么該方案不能與數據幀互換,但是我要做的是:
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.