在 R 中反复洗牌

Iza*_*a S 2 random r random-seed

我在编写代码迷宫时遇到问题,它会反复洗牌。我写了一句洗牌的行,但每次牌组都以同样的方式洗牌。我需要帮助编写代码,以便每次都以不同的方式洗牌。

shuffling <-sample(deck,length(deck))
Run Code Online (Sandbox Code Playgroud)

Len*_*ski 5

这是一个基本 R 解决方案,可从一组 10 张卡片中生成种子向量和 10 个样本。

\n\n
seeds <- runif(10)*1000000\ncards <- 1:10\n\nshuffledDecks <- lapply(seeds,function(aSeed){\n     set.seed(aSeed)\n     sample(cards)\n})\n
Run Code Online (Sandbox Code Playgroud)\n\n

当我们检查 RStudio 对象查看器中的列表时,我们发现 10 次洗牌中的所有纸牌顺序都不同。

\n\n

在此输入图像描述

\n\n

如果我们应用在不使用 While 和 Double For Loop 的情况下创建一副纸牌中的方法之一来创建一副纸牌,则一副 52 张扑克牌的一组 10 次洗牌看起来像这样。

\n\n
seeds <- runif(10)*1000000\ncards = c(2:10, "J", "Q", "K", "A")\nsuits = c("\xe2\x99\xa0", "\xe2\x99\xa5", "\xe2\x99\xa6", "\xe2\x99\xa3")\ndeck <- paste0(rep(cards, length(suits)),  #card values\n               rep(suits, each = length(cards))) #suits\n\nshuffledDecks <- lapply(seeds,function(aSeed){\n     set.seed(aSeed)\n     sample(deck)\n})\n\nshuffledDecks[[1]]\nshuffledDecks[[2]]\n
Run Code Online (Sandbox Code Playgroud)\n\n

...以及输出:

\n\n
> shuffledDecks[[1]]\n [1] "3\xe2\x99\xa5"  "Q\xe2\x99\xa0"  "6\xe2\x99\xa6"  "8\xe2\x99\xa0"  "9\xe2\x99\xa0"  "2\xe2\x99\xa6"  "10\xe2\x99\xa5" "J\xe2\x99\xa5"  "7\xe2\x99\xa6"  "6\xe2\x99\xa3"  "7\xe2\x99\xa0"  "3\xe2\x99\xa3"  "2\xe2\x99\xa0"  "8\xe2\x99\xa6"  "8\xe2\x99\xa5"  "A\xe2\x99\xa6"  "10\xe2\x99\xa3" "A\xe2\x99\xa5"  "5\xe2\x99\xa6"  "J\xe2\x99\xa6" \n[21] "A\xe2\x99\xa0"  "4\xe2\x99\xa5"  "7\xe2\x99\xa3"  "4\xe2\x99\xa3"  "3\xe2\x99\xa0"  "6\xe2\x99\xa0"  "5\xe2\x99\xa5"  "K\xe2\x99\xa0"  "5\xe2\x99\xa3"  "5\xe2\x99\xa0"  "J\xe2\x99\xa3"  "6\xe2\x99\xa5"  "9\xe2\x99\xa5"  "K\xe2\x99\xa3"  "Q\xe2\x99\xa5"  "9\xe2\x99\xa3"  "A\xe2\x99\xa3"  "9\xe2\x99\xa6"  "3\xe2\x99\xa6"  "K\xe2\x99\xa6" \n[41] "4\xe2\x99\xa6"  "J\xe2\x99\xa0"  "4\xe2\x99\xa0"  "8\xe2\x99\xa3"  "10\xe2\x99\xa0" "Q\xe2\x99\xa6"  "Q\xe2\x99\xa3"  "K\xe2\x99\xa5"  "7\xe2\x99\xa5"  "2\xe2\x99\xa3"  "2\xe2\x99\xa5"  "10\xe2\x99\xa6"\n> shuffledDecks[[2]]\n [1] "7\xe2\x99\xa0"  "5\xe2\x99\xa6"  "6\xe2\x99\xa5"  "Q\xe2\x99\xa3"  "K\xe2\x99\xa5"  "J\xe2\x99\xa6"  "Q\xe2\x99\xa0"  "Q\xe2\x99\xa5"  "3\xe2\x99\xa6"  "4\xe2\x99\xa5"  "2\xe2\x99\xa6"  "A\xe2\x99\xa0"  "9\xe2\x99\xa6"  "4\xe2\x99\xa3"  "7\xe2\x99\xa3"  "8\xe2\x99\xa6"  "4\xe2\x99\xa0"  "5\xe2\x99\xa0"  "K\xe2\x99\xa6"  "3\xe2\x99\xa5" \n[21] "6\xe2\x99\xa3"  "A\xe2\x99\xa3"  "10\xe2\x99\xa5" "8\xe2\x99\xa0"  "8\xe2\x99\xa3"  "J\xe2\x99\xa3"  "J\xe2\x99\xa0"  "10\xe2\x99\xa6" "7\xe2\x99\xa6"  "5\xe2\x99\xa3"  "10\xe2\x99\xa3" "9\xe2\x99\xa3"  "K\xe2\x99\xa3"  "K\xe2\x99\xa0"  "8\xe2\x99\xa5"  "6\xe2\x99\xa0"  "2\xe2\x99\xa0"  "5\xe2\x99\xa5"  "3\xe2\x99\xa3"  "J\xe2\x99\xa5" \n[41] "A\xe2\x99\xa6"  "3\xe2\x99\xa0"  "4\xe2\x99\xa6"  "9\xe2\x99\xa5"  "A\xe2\x99\xa5"  "6\xe2\x99\xa6"  "9\xe2\x99\xa0"  "7\xe2\x99\xa5"  "2\xe2\x99\xa5"  "10\xe2\x99\xa0" "2\xe2\x99\xa3"  "Q\xe2\x99\xa6" \n> \n
Run Code Online (Sandbox Code Playgroud)\n