Образец из вектора в R - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть вектор с 48 числами в нем, и мне нужно случайным образом выбрать 26 чисел из этого вектора без замены и сохранить их в векторе. Мне также нужно хранить оставшиеся 22 числа в отдельном векторе. Я знаю, как случайным образом выбрать 26 номеров без замены и сохранить их, но у меня возникают трудности с поиском 22 оставшихся номеров. Спасибо за помощь.

Ответы [ 4 ]

3 голосов
/ 22 апреля 2020

Вот один из способов:

v <- 1:48
chosen <- sample(rep(c(TRUE, FALSE), c(26, 22)))
v[chosen] #one set
v[!chosen] #its complement
2 голосов
/ 22 апреля 2020

Вы можете создать случайную выборку из признаков и взять первые 26. Остальные 22 - ваши "остатки".

i <- sample(1:48)
x1 <- x[i[1:26]]  # main sample
x2 <- x[i[27:48]] # left-overs
1 голос
/ 22 апреля 2020

Вы можете использовать setdiff, чтобы получить оставшиеся числа.

total_numbers <- 1:48
first_set <- sample(total_numbers, 26)
remaining_set <- setdiff(total_numbers, first_set)

Я предполагаю, что у вас есть уникальные числа в total_numbers.

1 голос
/ 22 апреля 2020

Вы можете использовать синтаксис %in% примерно так:

numbers1 <- sample(x, 26, replacement = false)
numbers2 <- x[!which(x %in% numbers1)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...