У меня есть матрица терминов документа, которую я хотел бы разделить на две части: одну для обучения, а другую для тестирования.
Я пробовал код ниже:
library(tm)
text.vector <- c("The quick brown dog",
"jumped over",
"the lazy fox",
"How now brown cow",
"The cow jumped over the moon")
text.corpus <- VCorpus(VectorSource(text.vector))
text.dtm <- DocumentTermMatrix(text.corpus)
set.seed(123)
train.vector <- sample(5,2,replace=F)
train.vector
train.boolean <- text.dtm$i %in% train.vector
train.boolean
text_train.dtm <- text.dtm[train.boolean,]
text_test.dtm <- text.dtm[!train.boolean,]
table(text.dtm$i)
table(text_train.dtm$i)
table(text_test.dtm$i)
text.dtm
text_train.dtm
text_test.dtm
Фактические результаты:
> table(text.dtm$i)
1 2 3 4 5
4 2 3 4 5
> table(text_train.dtm$i)
1
5
> table(text_test.dtm$i)
1 2 3 4
4 2 3 4
Мои ожидаемые результаты - это обучающая матрица с двумя документами (№ 2 и № 4) и тестовая матрица из трех документов (№ 1, № 3 и № 5):
> table(text.dtm$i)
1 2 3 4 5
4 2 3 4 5
> table(text_train.dtm$i)
2 4
2 4
> table(text_test.dtm$i)
1 3 5
4 3 5
Может кто-нибудь помочь мне понять, почему это не работает?Спасибо.