Выбор нескольких строк значений (a, b, c) под столбцом x - PullRequest
0 голосов
/ 30 января 2019

У меня есть кадр данных из 1617 obs и 202 переменных, который включает в себя переменную State.Есть 52 независимых государства.Я хочу случайным образом выбрать 5 состояний, но все записи в этих 5 штатах или выбрать все записи в 5 определенных состояниях.

Я пытался использовать это:

A <- subset(Iped, STABBR == c("PA", "DC", "MD", "DE", "VA"))

, но не возвращаетвсе записи с вышеуказанными значениями.Он выбирает только 45 записей из примерно 230.

Я хочу иметь возможность поднабора включать в себя 5 состояний и подсчитывать записи под каждым состоянием.

Ответы [ 2 ]

0 голосов
/ 30 января 2019

Я не могу полностью понять ваш вопрос, и без воспроизводимого примера это становится еще сложнее.Но вот решение data.table, которое, я думаю, вы можете использовать:

# load library
require(data.table)

# define data:
set.seed(1)
states <- data.table(a = 1:1000, State = sample(LETTERS, 1000, TRUE))

# filter those states in a random sample of 5 (obviously not replacing them!): that's what gets before the first comma. Then count them (that's the .N) by the name of each State (that's the by):
states[State %in% sample(unique(State), 5, FALSE), .N, by = State]
0 голосов
/ 30 января 2019

Чтобы получить 5 случайных состояний, сделайте sample(unique(Iped$State), 5), если Iped - имя вашего фрейма данных.

Ваше окончательное подмножество будет A <- subset(Iped, STABBR %in% sample(unique(Iped$State), 5))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...