13
4

4 に答える 4

11

dplyr を使用:

library(dplyr)
set.seed(12)
filter(iris, Species != "setosa") %>% sample_n(., 2) 

出力:

   Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
7           6.3         3.3          4.7         1.6 versicolor
81          7.4         2.8          6.1         1.9  virginica
于 2015-07-05T08:41:32.870 に答える
4

クリーンでシンプルなデータ テーブル アプローチ:

require(data.table)
iris <- data.table(iris)
cond <- iris[Species!= 'setosa', which = T]
iris[sample(cond, 2)]
于 2013-11-14T22:25:01.577 に答える
4

1行でやらない方がすっきりしますが、

iris[iris$Species != "setosa",][sample(nrow(iris[iris$Species != "setosa",]), 2), ]
于 2013-11-14T22:07:19.933 に答える