R에서 {tm} 패키지의 수많은 온라인 예제를 통해 TermDocumentMatrix를 만들려고했습니다. 코퍼스를 생성하고 정리하는 작업은 매우 간단하지만 행렬을 만들 때 일관되게 오류가 발생합니다. 오류 : UseMethod에서TermDocumentMatrix에서 오류가 발생했습니다.
오류 ("메타", x)를 '메타'에 대한 적용 방법은 클래스 "문자"또한 의 객체에 적용되지 : 경고 메시지 : 를 mclapply에서 (unname (컨텐츠 (X)), termFreq, 제어) : 예약 된 모든 코어는 여기에 존 Starkweather의 텍스트 마이닝 example의 코드는, 사용자 코드 예를 들어
에 오류가 발생했습니다. 그러한 긴 코드에 대해 미리 사과해야하지만 재현 가능한 예가됩니다. 오류는 마지막에 {tdm} 기능과 함께 제공됩니다.
#Read in data
policy.HTML.page <- readLines("http://policy.unt.edu/policy/3-5")
#Obtain text and remove mark-up
policy.HTML.page[186:202]
id.1 <- 3 + which(policy.HTML.page == " TOTAL UNIVERSITY </div>")
id.2 <- id.1 + 5
text.data <- policy.HTML.page[id.1:id.2]
td.1 <- gsub(pattern = "<p>", replacement = "", x = text.data,
ignore.case = TRUE, perl = FALSE, fixed = FALSE, useBytes = FALSE)
td.2 <- gsub(pattern = "</p>", replacement = "", x = td.1, ignore.case = TRUE,
perl = FALSE, fixed = FALSE, useBytes = FALSE)
text.d <- td.2; rm(text.data, td.1, td.2)
#Create corpus and clean
library(tm)
library(SnowballC)
txt <- VectorSource(text.d); rm(text.d)
txt.corpus <- Corpus(txt)
txt.corpus <- tm_map(txt.corpus, tolower)
txt.corpus <- tm_map(txt.corpus, removeNumbers)
txt.corpus <- tm_map(txt.corpus, removePunctuation)
txt.corpus <- tm_map(txt.corpus, removeWords, stopwords("english"))
txt.corpus <- tm_map(txt.corpus, stripWhitespace); #inspect(docs[1])
txt.corpus <- tm_map(txt.corpus, stemDocument)
# NOTE ERROR WHEN CREATING TDM
tdm <- TermDocumentMatrix(txt.corpus)
나는이 게시물을 보았고 귀하의 질문은 저에게 상기시켜주었습니다. [this link] (http://stackoverflow.com/questions/24771165/r-project-no-applicable-method-for-meta-applied-to-an-object-of-class-charact)를보십시오. 유용 할 수 있습니다. – jazzurro
@ jazzurro -이 게시물로 리디렉션 해 주셔서 감사합니다. tm_map 함수에서 tolower에 content_transformer를 추가하면 문제가 해결되었습니다. –
실제로 동일한 문제가있어서 해당 게시물을 보았습니다. 나는 당신 스크립트가 지금 일하고있어서 다행이다. – jazzurro