Произвольно заполнить R-массив данных целыми числами между - PullRequest
0 голосов
/ 06 мая 2018

Я хотел бы создать R-кадр данных со случайными целыми числами БЕЗ повторения.

Я предложил такой подход, который работает:

rank_random<-data.frame(matrix(NA, nrow = 13, ncol = 30)
for (colIdx in seq(1:30) {
rank_random[colIdx,] <-sample(1:ncol(subset(exc_ret, select=-c(Date))), 30, 
replace=F) 
}

1 Ответ

0 голосов
/ 06 мая 2018

Я предполагаю, что вы имеете в виду без повторений в каждом ряду. Если вы имели в виду что-то еще, уточните.

Для вашего примера:

N= ncol(subset(exc_ret, select=-c(Date)))
num.rows = 30
t(sapply( seq(num.rows), 
          FUN=function(x){sample(1:N, num.rows, replace=F)} ))

Чтобы проверить это для более простого случая

N= 5
num.rows = 5
t(sapply( seq(num.rows), 
          FUN=function(x){sample(1:N, num.rows, replace=F)} ))

#      [,1] [,2] [,3] [,4] [,5]
# [1,]    2    4    5    1    3
# [2,]    2    5    1    3    4
# [3,]    5    1    4    3    2
# [4,]    3    4    5    2    1
# [5,]    3    2    5    1    4
...