使用列表形成data.frame

时间:2014-04-19 08:22:50

标签: r sorting dataframe

我有一个我正在使用的环境(受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来说非常陌生,而且我确信它很简单,我很遗憾,但没有多少搜索可以解释这个问题。

关于如何从两个列表形成数据框的任何建议,或者更直接地,如何在保持它们之间的关系的同时对两个列表进行排序将是惊人的。 感谢。

1 个答案:

答案 0 :(得分:1)

df <- data.frame(keys, values) #and then you can sort it like this:
df[order(df$keys),]