Я предполагаю, что техника для этого похожа на прием первых N символов из любого кадра данных, независимо от того, является ли он корпусом или нет.Как взять первые 25 слов каждого корпуса (в R)?
Моя попытка:
create.greetings <- function(corpus, create_df = FALSE) {
for(i in length(Charlotte.corpus.raw)) {
Doc1<-Charlotte.corpus.raw[i]
Word1<-Doc1[1:25]
Greetings[i]<-Word1
}
return(VCorpus)
}
Где Greetings
начинается как корпус с п = 6. Я не мог понять, как создать нулевой корпус или корпус достаточно больших символов. У меня есть 200 документов здесь (Charlotte.corpus.raw
). В отличие от векторов (и по расширению, dataframes), похоже, нет простого способа создания пустых корпусов.
Часть проблемы заключается в том, что R, похоже, не распознает класс «документ». Он распознает только корпус. То есть, для R единичный документ является корпусом n = 1.
воспроизводимое Пример: Вы будете нуждаться в «тм» и «dplyr» и пакеты «NLP», а также более общие пакеты R
read.corpus <- function(directory, pattern = "", to.lower = TRUE) {
corpus <- DirSource(directory = directory, pattern = pattern) %>%
VCorpus # Read files and create `VCorpus` object
if(to.lower == TRUE) corpus <- # Lowercase text
tm_map(corpus,
content_transformer(tolower))
return(corpus)
}
Затем запустите функцию для любой директории, которую вы имеете с несколькими txt, тогда у вас есть корпус для работы. Затем замените Charlotte.corpus.raw сверху с тем, что вы называете своим корпусом.
Вашего «корпус» по существу только вектор строк, каждые из которых приговоры/пункты с словами, разделенными пробелами? Просьба представить [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example), в частности небольшие, но репрезентативные образцы данных. – r2evans
@ r2evans, как насчет того, что я только что редактировал? Я думаю, что вам больше удобнее использовать данные, которые уже хранятся на ваших компьютерах. – Antecedent
Извините, я не могу установить 'tm' в этой системе (пакет' slam' недоступен для R-3.2.5/win), поэтому я не могу проверить ваш код. Если это невозможно сделать без 'tm_map', я уйду. – r2evans