【问题标题】:R: Count the Occurrence of words in list to create benchmarkR:计算列表中单词的出现次数以创建基准
【发布时间】:2015-04-20 15:15:14
【问题描述】:

我有一个由单词组成的列表:

$text
$text[[1]]
 [1] "qlikview" "gpa"      "access"   "gpa"      "access"   "access"   "qlikview" "gpa"      "access"  
[10] "gpa"     

$text[[2]]
 [1] "report"   "qlikview" "gpa"      "access"   "qlikview" "gpa"      "access"   "qlikview" "gpa"     
[10] "access"`  

$text[[3]]
 [1] "qlikview" "gpa"      "access"   "gpa"      "access"   "access"   "qlikview" "gpa"      "access"  
[10] "gpa"     

$text[[4]]
 [1] "qlikview" "gpa"      "access"   "gpa"      "access"   "access"   "qlikview" "gpa"      "access"  
[10] "gpa"     

$text[[5]]
 [1] "report"   "qlikview" "gpa"      "access"   "access"   "gpa"      "access"   "qlikview" "gpa"     
[10] "access"   "access"   "gpa"      "qlikview" "gpa"      "access"   "qlikview" "gpa"      "access"

我需要计算每行列表和绘图中出现的单词数。我尝试了各种方法,但只在句子内有效。请参考this。从事过此类工作的人可以提供帮助吗?

编辑

dput(O)
O <- structure(list(text = list(c("report", "gpa", "access", "access", 
                                  "access", "gpa", "access", "gpa", 
                                  "access"), c("report", "report", 
                                  "access", "report", "report", "data",  
                                  "report", "report"), 
                                c("report", "qlikview", "gpa", "access", 
                                  "access", "qlikview", "gpa", "access", 
                                  "access", "qlikview", "gpa", "access", 
                                  "access", "qlikview", "gpa", "access"), 
                                  character(0),
                                c("gpa", "gpa", "gpa", "gpa", "gpa", 
                                  "gpa", "gpa", "gpa", "gpa", "gpa", 
                                  "gpa", "gpa"), 
                                c("report", "qlikview", "gpa", "access", 
                                  "access", "qlikview", "gpa", "access", 
                                  "qlikview", "gpa", "access", "access", 
                                  "gpa", "qlikview", "gpa", "access"), 
                                c("report", "data", "data"), 
                                c("report", "report", "report", "data", 
                                  "report", "report"))), .Names = "text")

【问题讨论】:

  • 尝试library(qdapTools); mtabulate(yourlist) 上面示例的dput 输出会更容易测试。
  • 请将此作为具有预期输出的可重现示例。没有人愿意重新创建您的数据。另外,您是指每个列表中唯一单词的数量,还是总单词数?
  • 独特的词,对不起,dput 只是给出了列表,但上述数据不会按原样表示
  • 您可以输入列表的较小子集。即在 R 控制台上键入 dput(head(yourlist)) 并通过复制/粘贴 dput 输出来更新您的帖子(尽管我不知道这是否仍然足够大)
  • 你基本上是asking the same question multiple times for two weeks now。您能否至少在标题和问题正文中解释这个问题与以前的问题有何不同以及为什么以前的答案不合适?如果您链接到之前的问题并总结为什么这些答案没有解决问题,这将对人们有所帮助。

标签: r


【解决方案1】:

试试

library(qdapTools)
res <- mtabulate(O$text)
dim(res)
#[1] 244   8

head(res,3)
#   access adhoc data gpa maturity pfi qlikview report
#1      4     0    0   4        0   0        2      0
#2      3     0    0   3        0   0        3      1
#3      4     0    0   4        0   0        2      0

基于新的 dput 输出(在一个小子集上)

res1 <- mtabulate(O$text)
head(res1,3)
#  access data gpa qlikview report
#1      5    0   3        0      1
#2      1    1   0        0      6
#3      7    0   4        4      1

【讨论】:

  • @KRU 没问题。我注意到您更改了dput。相应地更新了我的帖子。
猜你喜欢
  • 1970-01-01
  • 2021-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-30
  • 2013-12-25
  • 2021-02-05
相关资源
最近更新 更多