我有一个我正在使用的环境(受this question启发),它在另一个文档中存储了对该键的引用计数。
现在我希望绘制一个条形图,显示键值与由具有最高值的那些人排序的值。
对我而言,似乎最简单的排序方法(在保持键和值之间的共享索引的同时)将我的数据放入数据框中。所以在第1步,我将地图中的键和值提取到两个列表中,如下所示:
i<-0
keys <- list()
values <- list()
for (key in ls(contactsMap)){
keys[i]<-key
values[i]<-contactsMap[[key]]
i<- i + 1
}
values.num <- as.numeric(values) # to avoid character lists.
但是现在我似乎无法让它们形成一个简单的2列数据帧。 我对R来说非常陌生,而且我确信它很简单,我很遗憾,但没有多少搜索可以解释这个问题。
关于如何从两个列表形成数据框的任何建议,或者更直接地,如何在保持它们之间的关系的同时对两个列表进行排序将是惊人的。 感谢。
答案 0 :(得分:1)
df <- data.frame(keys, values) #and then you can sort it like this:
df[order(df$keys),]