ped*_*rio 11 dictionary r hashtable
我有一个两列的数据框:键和值,我想使用每列的相应行为字典/哈希表的每个元素创建一个字典.
据我所知,使用R字典/散列表的典型方法是做类似的事情.
labels.dic <- c("Id of the item and some other description" = "id")
Run Code Online (Sandbox Code Playgroud)
这很好用,但是当我尝试使用数据框中的值(在示例中命名为lbls)时,它不起作用.为什么会这样?
labels.dic <- c(lbls[1,1]=lbls[1,2])
Error: unexpected '=' in "c(lbls[1,1] ="
Run Code Online (Sandbox Code Playgroud)
Nic*_*bbe 11
在我看来,你得到了一些错误的信息.我甚至不确定你在哪里获得创建哈希表的语法.
在任何情况下:对于类似哈希表的功能,您可能需要考虑使用environment:这些内部使用哈希表(如果我没记错),所以要做你想做的事情.
你会用这样的东西:
someenv<-new.env()
someenv[["key"]]<-value
Run Code Online (Sandbox Code Playgroud)
鉴于你data.frame,这样的东西会填满它:
for(i in seq(nrow(lbls)))
{
someenv[[ lbls[i,1] ]]<- lbls[i,2]
}
Run Code Online (Sandbox Code Playgroud)
(注意:这要求第一列是实际的字符列,而不是因素!)
然后,您可以通过使用轻松获取命名值someenv[["nameofinterest"]].