Вы можете использовать:
spam[sample(which(spam$type == 'spam'), 100), ]
добавить replace = TRUE
, если у вас недостаточно строк для type = "spam"
.
Чтобы убедиться, что строки не повторяются для проверить и обучить, мы можем сделать
inds <- which(spam$type == 'spam')
train <- sample(inds, 100)
test <- sample(setdiff(inds, train), 100)
Затем подмножества индексов из основного кадра данных
train.data <- spam[train, ]
test.data <- spam[test, ]