Как я могу убедиться, что значения в моей матрице не повторяются внутри строк и между ними? - PullRequest
0 голосов
/ 18 июня 2020

Мне нужно написать функцию в R, которая не имеет ввода, но случайным образом выбирает набор из 13 пар букв. И на выходе такой функции должна быть матрица 2 x 13. Но буквы могут появляться только один раз, то есть они не могут повторяться в строке или между строками.

Пока что я придумал следующее:

f <- function(){
 x <- letters[1:26]
return(matrix(sample(x,13, replace = F), 2, 13))
}

Мне удалось чтобы буквы не повторялись внутри строки (с replace = F), но я не знаю, как сделать так, чтобы буквы из одной строки не появлялись снова в другой строке.

Есть идеи?

1 Ответ

4 голосов
/ 18 июня 2020

вам не нужно генерировать два вектора

x <- letters[1:26]

matrix(sample(x,26,replace = F),2,13)

         [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
    [1,] "s"  "m"  "h"  "z"  "q"  "y"  "w"  "x"  "p"  "n"   "e"   "o"   "j"  
    [2,] "r"  "b"  "d"  "v"  "u"  "a"  "k"  "i"  "f"  "l"   "g"   "c"   "t"  

Вот сокращенная версия

x <- letters

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