在R中以矩阵或向量存储键/值对的字典

时间:2018-01-13 06:44:02

标签: r dictionary

如何在矩阵或向量中存储R中键/值对的字典。 我已经从tm包中的函数termFreq()返回了一个键/值对的字/频率。我想知道如何将整个字典存储为另一个矩阵的元素

1 个答案:

答案 0 :(得分:0)

我认为最好的解决方案是将它们存储在列表列表中。这是一个例子:

library(tm)
doc_ma <- matrix(c('hello once', 'hello twice','goodbye once', 'goodbye twice','welcome once','welcome twice'),2)

示例数据:

     [,1]          [,2]            [,3]           
[1,] "hello once"  "goodbye once"  "welcome once" 
[2,] "hello twice" "goodbye twice" "welcome twice"

创建一个包含术语频率向量的列表列表:

my_list <- lapply(1:nrow(doc_ma), function(x) {vector("list", ncol(doc_ma))})   
for(i in 1:nrow(doc_ma))
{
  for(j in 1:ncol(doc_ma))
  {
    my_list[[i]][[j]] = termFreq(doc_ma[i,j])
  }
}

现在我们可以将doc_ma[i,j]的频率向量称为my_list[[i]][[j]],例如:

my_list[[1]][[2]]

输出:

goodbye    once 
      1       1 
attr(,"class")
[1] "term_frequency" "integer"