2016-03-28 29 views
1

Her şeyden önce, 1 Ağustos'tan 13 Ağustos'a kadar sorulan soruları tekrarlamaktan dolayı özür dilerim. Ama ben asıl soruya yorum yapamam, çünkü sahip olmadığım yorumu yorumlayabilmek için 50 ünün olması gerekiyor. Özgün soru R text mining documents from CSV file (one row per doc) dan alınabilir.R CSV dosyasından metin madenciliği belgeleri

R'de tm paketi ile çalışıyorum ve her satır farklı bir özet olan bir CSV makale özetleri dosyasına sahip olmaya çalışıyorum. Her satırın corpus içinde farklı bir belge olmasını istiyorum. Veri kümemde 2.000 satır var.

# change this file location to suit your machine 
file_loc <- "C:/Users/.../docs.csv" 
# change TRUE to FALSE if you have no column headings in the CSV 
x <- read.csv(file_loc, header = TRUE) 
require(tm) 
corp <- Corpus(DataframeSource(x)) 
docs <- DocumentTermMatrix(corp) 

Ben sınıfını kontrol ettiğinizde: Daha önce Ben önerdiği gibi

Aşağıdaki kodları çalıştırmak

# checking class 
class(docs) 
[1] "DocumentTermMatrix" "simple_triplet_matrix" 

sorun tm dönüşümler bu sınıfa çalışmaz ise:

# Preparing the Corpus 
# Simple Transforms 
toSpace <- content_transformer(function(x, pattern) gsub(pattern, " ", x)) 
docs <- tm_map(docs, toSpace, "/") 

Bu hatayı alıyorum:

Error in UseMethod("tm_map", x) : 
no applicable method for 'tm_map' applied to an object of class "c('DocumentTermMatrix', 'simple_triplet_matrix')" 

veya başka kodu: Yardım büyük mutluluk duyacağız

Error in UseMethod("tm_map", x) : 
no applicable method for 'tm_map' applied to an object of class "c('DocumentTermMatrix', 'simple_triplet_matrix')" 

:

docs <- tm_map(docs, toSpace, "/|@|nn|") 

aynı hatayı alıyorum.

+0

İşlevinizi 'DocumentTermMatrix' yerine' Corpus' nesnesine uygulamanız gerekir. Corp <- Corpus (DataframeSource (x)) 'dan sonra,' corp <- tm_map (corp, toSpace, "/") 'yi deneyin ve ancak o zaman' DocumentTermMatrix'inizi oluşturun. – nicola

+0

@nicola Çok teşekkür ederim. Kesinlikle haklıydın. Koştum. Ancak, dtm'yi oluşturmadan işe yaramış görünüyor. Son kodlar "docs <- tm_map (docs, stemDocument)" ve "(docs [16])" dır. Sonuç, 'İçerik: karakter: 1190', bana göre iyi görünüyor. Ama dtm yarattığımda, dim (dtm) 'nin sonucu [0] 2004 0'dır. Evet 2004 belgelerine sahibim ama 0 ?! Matrislerimde hiçbir şey yok mu? Lütfen tavsiye. – Sahara

+0

Gerçekten verilerinize bağlı. Onları görmeden hiçbir şey söyleyemem. Neler olup bittiğini görmek için korpusunuzun adımına bir göz atın. – nicola

cevap

0

kod

docs <- tm_map(docs, toSpace, "/|@|nn|") 

Sonra iyi çalışır

docs <- tm_map(docs, toSpace, "/|@|\\|"). 

ile değiştirilmelidir.