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