R:提取列表清单

时间:2017-08-16 18:02:53

标签: r list

我正在尝试从嵌套列表中提取元素。

我有一个列表如下

> terms[1:3]
$`1`
mathew 
1 

$`2`
apr expires     gmt     thu 
1       1       1       1 

$`3`
distribution        world 
1            1 

当我使用unlist时,我得到以下输出,其中每个术语前面都有列表中的数字

> unlist(terms)[1:6]
1.mathew          2.apr      2.expires          2.gmt          2.thu 3.distribution 
1              1              1              1              1              1 
> 

如何提取行名称及与之关联的值。示例mathew列的值为1.

我需要在term,count

的最后创建一个数据帧

可重复的示例

library(tm)
data("crude")
tdm <- TermDocumentMatrix(crude)
findMostFreqTerms(tdm,10)

2 个答案:

答案 0 :(得分:2)

默认情况下,

TermDocumentMatrix将返回命名列表。如果您只想将这些术语组合到一个忽略文档名称的列表中,请使用

unlist(unname(terms))

但请注意,如果多个文档共享最频繁的工作,则可能会多次复制某些单词。如果您想将整个语料库视为单个文档,则可以执行

findMostFreqTerms(tdm, 10, INDEX=rep(1, ncol(tdm)))[[1]]

答案 1 :(得分:1)

这有帮助吗?

data('crude')
library(tm)

tdm <- TermDocumentMatrix(crude)
terms=findMostFreqTerms(tdm,10)
a = unlist(terms)
words = gsub('[0-9.]+', '', attr(a,'names'))
words

df = t(data.frame(a))
colnames(df) = words
# colnames(df)