Как сделать выборку из вектора, не повторяя? - PullRequest
0 голосов
/ 26 октября 2019

Добрый день!

Мне нужно выбрать элементы из вектора, но без повторения. Это означает, что если у меня есть вектор из n элементов, я каждый раз выбираю элемент случайным образом и сохраняю элемент в таблице. В следующий раз моя исходная таблица не будет содержать элемент, выбранный ранее.

ex:

a = c(1,2,0,7,5)
sample(a,1) give 5 for example. 
print(a) ; a now should contain only 1 , 2 , 0 , 7.

Я хотел бы, чтобы мой вопрос был ясен. Спасибо за помощь!

Ответы [ 2 ]

1 голос
/ 26 октября 2019

Другой подход заключается в выборке значения индекса и подмножества на его основе:

a <- c(1, 2, 0, 7, 5)

set.seed(123)
ind <- sample(seq_along(a), 1)

a[ind]
a[-ind]
0 голосов
/ 26 октября 2019

Я думаю, что решение может быть следующим:

a = c(1,2,0,7,5)
a=a[!a %in% sample(a,1)] ;

произведет выборку элемента и удалит его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...