2016-06-11 3 views
0

Предположим, что существует три возможных значения: B, S и N. В настоящее время существует 10 значения в векторе называется test:Отбор проб из элементов, кроме токового Один

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

Что такое хороший способ получить выборку из теста за исключением первого элемента? Или исключить второй элемент и т. Д.? Например, 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" 

Чтобы исключить использование 3-го, test[-3] и в целом, чтобы исключить п-го, используйте test[-n].

Смежные вопросы