Я пытаюсь создать один вектор, который объединяет значения.Например, если 2-й элемент равен 100, я хочу, чтобы 100-й элемент был равен 2. В каком-то смысле каждый элемент вектора имеет свою собственную соответствующую пару.
Я использую этот вектор в функции позже.
В настоящее время я пытался работать с циклом mapply и for аналогичным образом, но это занимает слишком много времени, и я продолжаю думать, что для этого должен быть более оптимальный способ.Возможно, вариация функции семпла?
Мне нужен «спаренный» вектор длиной 10 ^ 5
set.seed(1)
tmp <- 1:10^5
t1 <- c(sample(1:10^5, 5))
t2 <- tmp[-t1]
t2 <- sample(t2)
for (i in 1:10^5) {
if (tmp[i] %in% t1) {
a <- which(t1 == tmp[i])
tmp[i] <- t2[a]
} else {
a <- which(t2 ==tmp[i])
tmp[i] <- t1[a]
}
}
В принципе, все это работает, просто это занимает слишком много времени.Я уверен, что должен быть более оптимальный способ сделать это.
Мне нужно, чтобы спаривания были случайными, поэтому выполнение их за первые 50 000, а затем остальные 50 000 не сработают.