2016-06-11 19 views
0

可能な値は、B,S、およびNです。現在ベクトルで10値がtestが呼び出されます。現在の要素以外の要素からのサンプリング

test <- c("B", "B", "S", "S", "B", "S", "S", "S", "S", "B") 

最初の要素を除いたテストからサンプルを得るための良い方法は何ですか?または、2番目の要素などを除外しますか?例えば、sample(test,3)は、試験からサイズ3のサンプルを与える。しかし、サイズ3のサンプルを最初の要素から除外したい場合はどうしますか?

+0

'sample(test [-1]、3)' –

+0

何らかのループ 'sapply(1:4、function(x)sample((1:4)[ - x]、3))' – rawr

答えて

2

[]を使用して、R内のオブジェクトをサブセット化します。たとえば、最初の要素を除外するには、object[-1]を使用します。

test 
[1] "B" "B" "S" "S" "B" "S" "S" "S" "S" "B" 

test[-1] 
[1] "B" "S" "S" "B" "S" "S" "S" "S" "B" 

set.seed(100) 
sample(test[-1],3) 
[1] "S" "B" "B" 

、第三の使用を除外test[-3]と一般的には、n番目を除外するために、test[-n]を使用するには。

関連する問題