R - Выбрать строки для случайной выборки значений столбца?

Как я могу выбрать все строки для случайной выборки значений столбцов?

У меня есть фрейм данных, который выглядит следующим образом:

tag  weight

R007     10
R007     11
R007      9
J102     11
J102      9
J102     13
J102     10
M942      3
M054      9
M054     12  
V671     12
V671     13
V671      9
V671     12
Z990     10
Z990     11

Вы можете реплицировать его с помощью ...

weights_df <- structure(list(tag = structure(c(4L, 4L, 4L, 1L, 1L, 1L, 1L, 
3L, 2L, 2L, 5L, 5L, 5L, 5L, 6L, 6L), .Label = c("J102", "M054", 
"M942", "R007", "V671", "Z990"), class = "factor"), value = c(10L, 
11L, 9L, 11L, 9L, 13L, 10L, 3L, 9L, 12L, 12L, 14L, 5L, 12L, 11L, 
15L)), .Names = c("tag", "value"), class = "data.frame", row.names = c(NA, 
-16L))

Мне нужно для создания фрейма данных, содержащего все строки из указанного выше фрейма данных для двух случайно выбранных тегов. Допустим, теги R007 и M942 выбираются случайным образом, мой новый фрейм данных должен выглядеть следующим образом:

tag  weight

R007     10
R007     11
R007      9
M942      3

Как мне это сделать?

Я знаю, что могу создать список из двух случайных тегов, например:

library(plyr)
tags <- ddply(weights_df, .(tag), summarise, count = length(tag))
set.seed(5464)
tag_sample <- tags[sample(nrow(tags),2),]
tag_sample

В результате ...

   tag count
4 R007     3
3 M942     1

Но я просто не знаю, как использовать это для подмножества моего исходного фрейма данных.

5
задан Tommy O'Dell 10 May 2011 в 01:31
поделиться