我試圖將一段python代碼轉換爲R.在python中,使用字典中的字典。所以我想利用在R上的散包,無法在R中使用哈希包時強制類型'字符'類型的向量'
Python代碼:
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'
當我嘗試用列表替換散列,其工作正常。但是,我使用鍵/值對(哈希包)主要是因爲我必須玩內部字典,我的意思是改變基於外部字典鍵的內部字典值。任何想法爲什麼我得到這個錯誤或任何替代方法。
正在更新下面,使問題更清楚。
爲了進一步解釋它,我將它創建爲鍵/值對(哈希包),主要是因爲我將在大量使用鍵/值對的字典上使用以下邏輯。我不確定這是否可以在沒有鍵/值對的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
在此先感謝。
你的問題不清楚。你想通過說「根據外部字典鍵改變內部字典值」來達到什麼目的?你能提供一個小例子嗎? – 2015-02-07 14:30:41
感謝您的回覆。我已經更新了我將要用鍵/值對做什麼的問題。 – jeevag 2015-02-07 14:47:59