Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中将命名列表向量从R转换为rpy2?_Python_R_Rpy2 - Fatal编程技术网

在Python中将命名列表向量从R转换为rpy2?

在Python中将命名列表向量从R转换为rpy2?,python,r,rpy2,Python,R,Rpy2,在python的Rpy2中,以下R代码的等价物是什么 Var1 = c("navy", "darkgreen") names(Var1) = c("Class1", "Class2") ann_colors = list(Var1 = Var1) 现在还不清楚什么是安的颜色。当在R中进行评估时,它给出: > ann_colors $Var1 Class1 Class2 "navy" "darkgreen" 它是一个robject.ListVector?

在python的Rpy2中,以下R代码的等价物是什么

Var1 = c("navy", "darkgreen")
names(Var1) = c("Class1", "Class2")
ann_colors = list(Var1 = Var1)
现在还不清楚什么是安的颜色。当在R中进行评估时,它给出:

> ann_colors
$Var1
     Class1      Class2 
     "navy" "darkgreen" 
它是一个
robject.ListVector
?我试过:

robjects.ListVector({"Class1": "navy", "Class2": "green"})
但这并不完全是因为我不知道如何告诉ListVector对象这个对象的名称是
Var1
,即类似于
list(Var1=Var1)


如何将其正确转换为rpy2

如果我没弄错你的问题,你要找的是标签列表:

import rpy2.rlike.container as rlc
Var1 = rlc.TaggedList(["navy","darkgreen"], tags=('Class1', 'Class2'))

有关更多详细信息,请参阅。

经过数小时的反复试验,我找到了解决方案。我不完全理解为什么这个类似的变体不起作用,或者为什么这个方案不能与数据帧互换,但我要做的是:

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)

但是
ann_colors
在我的示例中添加了有关
Var1
的附加信息,即
Var1
是海军/绿色,Class1/Class2信息的持有者。不确定这在TaggedList中是如何表达的?@user248237dfsf
TaggedList
背后的思想是提供类似于R命名向量的东西:列表中的每个项目都有一个标记(名称)。与
OrderedDict
的区别在于名称不是唯一的。