Выборка с использованием переменной id

Я знаю, как делать обычную случайную выборку с помощью R:

mysample <- mydata[sample(1:nrow(mydata), 100),]

Однако я хочу выполнить выборку по переменным идентификатора. Позвольте мне объяснить - мой набор данных выглядит так:

id var1 var2 ...
1  5.1  1.2
1  4.7  0.9
2  3.3  1.6
3  3.4  5.7
4  7.9  1.3

Теперь я хочу взять случайную выборку, скажем, 2 по номерам идентификаторов. Допустим, случайная выборка дает идентификаторы 1 и 4, тогда моя выборка будет выглядеть так:

id var1 var2 ...
1  5.1  1.2
1  4.7  0.9
4  7.9  1.3

Другими словами, я выбираю 2 идентификационных номера, но на самом деле я получаю 3 случая.

Как я могу сделать это в R?


person histelheim    schedule 20.01.2014    source источник


Ответы (1)


Ваши данные:

mydata <- read.table(text = "id var1 var2 
1  5.1  1.2
1  4.7  0.9
2  3.3  1.6
3  3.4  5.7
4  7.9  1.3", header = TRUE)

Примеры двух значений id:

set.seed(1)
ids <- sample(unique(mydata$id), 2) # important: the UNIQUE id numbers
# [1] 2 4

Извлечь подмножество:

mydata[mydata$id %in% ids, ]
#   id var1 var2
# 3  2  3.3  1.6
# 5  4  7.9  1.3
person Sven Hohenstein    schedule 20.01.2014