Р: Как выбрать 100 случайных строк на основе текста столбца? - PullRequest
0 голосов
/ 02 февраля 2020

Я использую набор данных спама в R, где один из столбцов («тип») делит электронные письма на «спам» и «не спам»

Я хочу создать объект со 100 случайно выбранными строки, которые классифицируются как «спам».

Ответы [ 2 ]

2 голосов
/ 02 февраля 2020
library(kernlab)
data(spam)

В base

set.seed(12345)
smpl_spam <- spam[sample(which(spam$type == "spam"), 100), ]

В tidyverse

library(tidyverse)
set.seed(12345)
smpl_spam <- spam %>% 
  filter(type == "spam") %>% 
  sample_n(100)
1 голос
/ 02 февраля 2020

Вы можете использовать:

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, ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...