2016-07-05 2 views
1

트윗에 대한 정서 분석을하려고합니다. 단어의 사전 처리를하고 매트릭스를 만드는 동안, 나는 다음과 같은 오류가있어 다음 14,215 트윗에서r에 줄무늬가있는 단어 : 누락 값

Error in if (any(lens > lim)) stop("There is a limit of ", lim, "characters on the number of characters in a word being stemmed") : 
missing value where TRUE/FALSE needed 

를, 나는 오류를 생성 한 특정 트윗에 내려 삶은하지만 어떻게 아무런 단서를 가지고 없었다 이 오류가 다시 발생하지 않도록하십시오. 오류가 발생으로 인한되는 트윗이 (그리고 코드는 오류를 재현하기 위해) :

library(RTextTools) 
tweet<-"demonio leg edge sexy we get it u vape PLEASE COME TO NA SOON I HAVE A LUCIEL READY FOR U dominos" 
all_tweets= create_matrix(tweet, language="english", minWordLength = 3, 
         removeStopwords=TRUE, removeNumbers=TRUE, # we can also removeSparseTerms 
         stemWords=TRUE,removePunctuation = TRUE,removeSparseTerms = 0) 

내가 먼저 오류 이해하고 싶습니다 - 그것을가 발생한 후 내가 원하는 것은 저를 가능하게 할 방법 이유 이러한 트윗을 선택하거나 제거하거나 create_matrix 함수를 이와 같이 편집하여이 오류가 발생하지 않도록하십시오.

+0

당신이 (R/RTextTools 패키지를) 할 버전 안녕하세요. 여기에 Windows 64, R 3.2.2 및 RTextTools 1.4.2에서 제공 한 텍스트에 오류가 재현되지 않습니다. –

+0

R 버전 3.3.0 및 RTextTools 1.4.2 – user3109578

+0

로케일 또는 인코딩 문제 일 수 있습니다. @lukeA 제안도 가능성이 보인다. 어쨌든 이상하게도 코드가 매력처럼 작동합니다. –

답변

1

오류는 어쩌면이 버그가

wordStem(
    c("demonio", "leg", "edge", "sexy", 
    "get", "u", "vape", "please", 
    "come", NA, "soon", "luciel", 
    "ready", "u", "dominos") 
) 
# Error in if (any(lens > lim)) stop("There is a limit of ", lim, "characters on the number of characters in a word being stemmed") : 
# missing value where TRUE/FALSE needed 

을 실행에서 온다. 문자열 "NA"는 NA (누락 된 값)으로 토큰 화 된 것 같습니다. 해결 방법으로


library(tm) 
all_tweets <- DocumentTermMatrix(
    Corpus(VectorSource(tweet)), 
    control = list(
    wordLengths = c(3, Inf), 
    stopwords=TRUE, 
    removeNumbers=TRUE, 
    stemming=TRUE, 
    removePunctuation = TRUE 
) 
) 

를 사용하여 내 sessionInfo() :

R version 3.3.0 (2016-05-03) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 
Running under: Windows 7 x64 (build 7601) Service Pack 1 

locale: 
[1] LC_COLLATE=German_Germany.1252 LC_CTYPE=German_Germany.1252 LC_MONETARY=German_Germany.1252 
[4] LC_NUMERIC=C     LC_TIME=German_Germany.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] RTextTools_1.4.2 SparseM_1.7  

loaded via a namespace (and not attached): 
[1] Rcpp_0.12.5   splines_3.3.0  MASS_7.3-44   tau_0.0-18   prodlim_1.5.5  tm_0.6-2   
[7] lattice_0.20-33  foreach_1.4.3  caTools_1.17.1  tools_3.3.0   nnet_7.3-11   parallel_3.3.0  
[13] grid_3.3.0   ipred_0.9-5   glmnet_2.0-5  e1071_1.6-7   iterators_1.0.8  class_7.3-14  
[19] survival_2.39-4  randomForest_4.6-12 Matrix_1.2-6  NLP_0.1-9   lava_1.4.3   bitops_1.0-6  
[25] codetools_0.2-14 rsconnect_0.4.3  maxent_1.3.3.1  rpart_4.1-10  slam_0.1-32   tree_1.0-36 
+0

그래. 완벽 해졌습니다 (그러나 필요한 라이브러리 (SnowballC)). – user3109578