Python 无法强制类型';关闭';到类型为'的向量;字符';在R中使用hash包时
我正在尝试将一段python代码转换为R。在python中,使用字典中的字典。所以我试着在R中使用散列包 Python代码:Python 无法强制类型';关闭';到类型为'的向量;字符';在R中使用hash包时,python,r,dictionary,hash,Python,R,Dictionary,Hash,我正在尝试将一段python代码转换为R。在python中,使用字典中的字典。所以我试着在R中使用散列包 Python代码: titles = { 'NAME' :{ 'exact':['NAME'] ,'partial':[] } , 'Dt' :{ 'exact':['Dt'] ,'partial':[] } , 'CC' :{ 'exact':[] ,'partial':[] } } R代码是 libra
titles = {
'NAME' :{
'exact':['NAME']
,'partial':[]
}
, 'Dt' :{
'exact':['Dt']
,'partial':[]
}
, 'CC' :{
'exact':[]
,'partial':[]
}
}
R代码是
library(hash)
titles = hash(("NAME" = list("exact"=list('NAME'),"partial"=list())),
("Dt" = list("exact"=list('Dt'),"partial"=list())),
("CC" = list("exact"=list(),"partial"=list())))
但当我尝试在哈希环境中使用这段代码时,我得到以下错误
Error in as.vector(x, "character") :
cannot coerce type 'closure' to vector of type 'character'
当我尝试用列表替换散列时,效果很好。但是,我使用键/值对(hash包)主要是因为我必须处理内部字典,我的意思是基于外部字典键更改内部字典值。你知道我为什么会犯这样的错误吗?或者其他的方法
更新以下内容,使问题更加清楚
为了进一步解释,我将其创建为键/值对(散列包),主要是因为我将在大量使用键/值对的字典上使用以下逻辑。我不确定在没有键/值对的R列表中是否可以轻松完成此操作
another_dict = {}
multiples_dict = {}
adj_title = 'Dt'
for outer_key,outer_value in titles.iteritems():
for exact in outer_value['exact']:
if exact == adj_title:
another_dict[actual_title] = outer_key
multiples_dict[outer_key] = multiples
for partial in inner_dict['partial']:
if partial in adj_title:
another_dict[actual_title] = outer_key
multiples_dict[outer_key] = multiples
提前感谢。您需要去掉每个键/值对周围的paren,如下所示:
library(hash)
titles = hash("NAME" = list("exact"=list('NAME'),"partial"=list()),
"Dt" = list("exact"=list('Dt'),"partial"=list()),
"CC" = list("exact"=list(),"partial"=list()))
当包含parens
散列((a=b))
时,对象(a=b)
将作为表达式传递,而不是键/值对您的问题不清楚。您希望通过说“基于外部dict键更改内部dict值”来实现什么?你能提供一个小的说明性例子吗?谢谢你的回答。我已经更新了这个问题,我将如何处理键/值对。哦,糟糕。我不知怎么错过了。谢谢你。