У меня есть вектор с 663 элементов. Я хотел бы создать случайные выборки из вектора, равного длине вектора (т. Е. 663). Говоря иначе, я хотел бы взять случайные выборки из всех возможных порядков 663 элементов. Моя цель - создать кадр данных из N случайных выборок или случайно выбранных перестановок.Как нарисовать N случайных выборок из вектора в R?
Я попытался следующие:
library(combinat)
perms <- as.data.frame(permn(1:663))
Поскольку существует так много возможных перестановок, я получил бы сообщение об ошибке.
Моей следующей идеей было бы создать фрейм данных с таким количеством строк, как я бы хотел, чтобы образцы/перестановки и столько же переменных, сколько и элементы (например, 663), и использовали функцию, такую как sapply()
с sample()
. Однако я не думаю, что такой подход эффективен.
Я также попытался:
samples <- replicate(100, table(sample(1:663, 663,replace = F)))
, но я просто получить кадр данных 100 столбцов из них.
Потому что вы принимаете 'table'. Частота равна 1, поскольку вы используете 'replace = FALSE' – akrun