sorununuza (veya olası daha) çözümleri üç vardır:
Birincisi, sadece kelimeleri kaldırmak için tm
paketini kullanın. Her iki paket de aynı nesnelerle uğraşır, bu nedenle tm
'u yalnızca sözcükleri kaldırmak için ve RTextTools
paketinden kullanabilirsiniz. create_matrix
işlevine baktığınızda bile tm
işlevlerini kullanır.
İkinci olarak, create_matrix
işlevini değiştirin. Örneğin own_stopwords=NULL
gibi bir girdi parametresi eklemek ve aşağıdaki satırları ekleyin:
# existing line
corpus <- Corpus(VectorSource(trainingColumn),
readerControl = list(language = language))
# after that add this new line
if(!is.null(own_stopwords)) corpus <- tm_map(corpus, removeWords,
words=as.character(own_stopwords))
Üçüncüsü, kendi işlevini, böyle bir şey yazmak: eğer çalışırsa
# excluder function
remove_my_stopwords<-function(own_stw, dtm){
ind<-sapply(own_stw, function(x, words){
if(any(x==words)) return(which(x==words)) else return(NA)
}, words=colnames(dtm))
return(dtm[ ,-c(na.omit(ind))])
}
hadi bir göz:
# let´s test it
data(NYTimes)
data <- NYTimes[sample(1:3100, size=10,replace=FALSE),]
matrix <- create_matrix(cbind(data["Title"], data["Subject"]))
head(colnames(matrix), 5)
# [1] "109" "200th" "abc" "amid" "anniversary"
# let´s consider some "own" stopwords as words above
ostw <- head(colnames(matrix), 5)
matrix2<-remove_my_stopwords(own_stw=ostw, dtm=matrix)
# check if they are still there
sapply(ostw, function(x, words) any(x==words), words=colnames(matrix2))
#109 200th abc amid anniversary
#FALSE FALSE FALSE FALSE FALSE
HTH
Teşekkürler! Bu mükemmel çalışıyor. RTextTools paketinin bazı işlevlerini kaybettiği (veya kolay bir uygulamayı kaybettiği) göz önüne alındığında, bunların tümünü kullanmanızı önerir misiniz? (Tm paketi ile yapışarak) – user2175594
Sanırım matrisinizden beri değişiyor ve kelime vektörünü durdurun. Genelde çözüm üç yapardım, ancak matris ve stop word vektörü çok büyükse hafıza problemleri yaşayabilirsiniz. 2 numaralı çözümden daha fazlasını yapacağım, satırları ekleyelim, ör. "create_matrix2", ancak bir dosyada ve kaynak. Dahası, 'create_matrix2' işlevini eski işlevle aynı şekilde ancak yeni özellik ile kullanabilirsiniz. – holzben