3

findAssoc()テキストマイニング (パッケージ)を使用してきtmましたが、データセットに何か問題があることに気付きました。

私のデータセットは、csv ファイルの 1 列に保存された 1500 の自由回答です。だから私はこのようにデータセットを呼び出し、典型的なtm_mapものを使ってコーパスにしました。

library(tm)
Q29 <- read.csv("favoritegame2.csv")
corpus <- Corpus(VectorSource(Q29$Q29))
corpus <- tm_map(corpus, tolower)
corpus <- tm_map(corpus, removePunctuation)
corpus <- tm_map(corpus, removeNumbers)
corpus<- tm_map(corpus, removeWords, stopwords("english"))
dtm<- DocumentTermMatrix(corpus)

findAssocs(dtm, "like", .2)
> cousin  fill  ....
  0.28    0.20      

Q1. に関連付けられている用語を見つけたときにlike、出力が出力の一部として表示されませんlike = 1。でも、

dtm.df <-as.data.frame(inspect(dtm))

このデータフレームは 1500 個の obs で構成されています。of 1689 変数..(データが csv ファイルの行に保存されているためですか?)

Q2. 対象語が 1 回出現したときにcousinandが 1 回出現したにもかかわらず、このようにスコアが異なります。それらは同じであるべきではありませんか?filllike

私は数学を見つけようとしていますfindAssoc()が、まだ成功していません。どんなアドバイスでも大歓迎です!

4

4 に答える 4

7
 findAssocs
#function (x, term, corlimit) 
#UseMethod("findAssocs", x)
#<environment: namespace:tm>

methods(findAssocs )
#[1] findAssocs.DocumentTermMatrix* findAssocs.matrix*   findAssocs.TermDocumentMatrix*

 getAnywhere(findAssocs.DocumentTermMatrix)
#-------------
A single object matching ‘findAssocs.DocumentTermMatrix’ was found
It was found in the following places
  registered S3 method for findAssocs from namespace tm
  namespace:tm
with value

function (x, term, corlimit) 
{
    ind <- term == Terms(x)
    suppressWarnings(x.cor <- cor(as.matrix(x[, ind]), as.matrix(x[, 
        !ind])))

ここで自己参照が削除されました。

    findAssocs(x.cor, term, corlimit)
}
<environment: namespace:tm>
#-------------
 getAnywhere(findAssocs.matrix)
#-------------
A single object matching ‘findAssocs.matrix’ was found
It was found in the following places
  registered S3 method for findAssocs from namespace tm
  namespace:tm
with value

function (x, term, corlimit) 
sort(round(x[term, which(x[term, ] > corlimit)], 2), decreasing = TRUE)
<environment: namespace:tm>
于 2013-01-10T23:35:52.707 に答える
0

Your dtm has 1689 variables because that is the number of unique words in your observations (excluding stop words and numbers). Probably the word "like" shows up in more than one of your 1500 observations and isn't always accompanied by "cousin" and "fill". Did you count how many times "like" shows up?

于 2013-05-16T02:28:04.767 に答える