2013-04-24 8 views
1

Я хотел бы прочитать txt-файл и сделать некоторые подходы к поиску текста. Когда я использовал пакет tm в R, у меня появилось много сообщений об ошибках. Например, если бы я хотел соотнести самые частые слова, я получил только НС. Вот код, я использовал до сих пор:txt файл создает NA в R-пакете tm (textmining)

library(tm) 

doc <- c("word1 word1 word2 word1 word2 word3 word1 word2 word3 word4 word1 word2 word3 word4 word5") 

Corpus <- Corpus(VectorSource(doc)) 
Corpus <- tm_map(Corpus, stripWhitespace) 
Corpus <- tm_map(Corpus, tolower) 
Corpus <- tm_map(Corpus, removeWords, stopwords("english")) 
Corpus <- tm_map(Corpus, removePunctuation) 

tdm <- TermDocumentMatrix(Corpus) 

#Plotting correlation of Terms 
plot(tdm, terms = findFreqTerms(tdm, lowfreq = 2, Inf)[1:3], CorThreshold = 0.1) 

После этого я получил следующее сообщение об ошибке:

Error in if (all(from == t(from))) "undirected" else "directed": 
missing value where TRUE/FALSE needed 

Годится для исследований, я использовал следующий код, который шаг за шагом подход findAssocs():

terms <- findFreqTerms(tdm, lowfreq = 2)[1:3] 
m <- as.matrix(t(tdm[terms,])) 
m 
cor(m) 

Однако, я получил следующий вывод:

  word1 word2 word3 
    word1 NA NA NA 
    word2 NA NA NA 
    word3 NA NA NA 

С моей точки зрения, в тексте есть что-то не так, но у меня нет объяснений этому странному поведению. Мои вопросы: если у кого-то есть решение этой проблемы. My R (2.15.2) работает в системе Mac (x86_64-apple-darwin9.8.0/x86_64 (64-разрядная версия)).

Большое спасибо!

+0

См [это] (http://stackoverflow.com/questions/13575180/how-to-change-the-language-of- error-in-r), чтобы изменить языковые ошибки на английский. – agstudy

ответ

0

Для функции корреляционного анализа cor() вы получили матрицу значений NA, потому что у вас есть только одно наблюдение за каждой переменной - вы не можете выполнять корреляцию, если переменные имеют только одно наблюдение.

Вы можете проверить это, глядя на вашу матрицу м

> m 
    Terms 
Docs word1 word2 word3 
    1  5  4  3 
+0

O.k. Это значит, что мне нужно разделить мой текст на несколько документов, например на одно предложение на вектор? – user2314393

+0

Thats it! Еще раз большое спасибо. Я думал, что возможна корреляция в одном тексте. К сожалению, это не так для tm, не так ли? Я получил корреляцию/ассоциацию. – user2314393