通过在R中抽取5张牌来模拟获得四张牌(四张相同符号的牌:7、8、9、10、J、Q、K或A)的概率

Simulate the probability to get four-of-a-kind (four cards with the same symbol: 7, 8, 9, 10, J, Q, K or A) by drawing 5 cards in R

我试过这种方法,但是不行,因为我无法在函数sum中匹配不同的卡片。如何匹配这 4 张牌?

suits <- c("Clubs", "Diamonds", "Hearts", "Spades")
cards <-c("Ace", 7:10, "Jack", "Queen", "King")

deck2 <- rep(cards, 4)

prob4cards <- function()
{
prob4cards <- sample(deck2, size= 5, replace = FALSE)
sum(prob4cards[,1] == prob4cards[,2] == prob4cards[,3]== prob4cards[,4])
}

抽到的5张牌中有4张相同的概率可以通过-

求出
prob4cards <- function(deck) {
  prob4cards <- sample(deck, size= 5, replace = FALSE)
  any(table(prob4cards) == 4)
}

mean(replicate(10000, prob4cards(deck2)))

增加 replicate 中的计数以获得更准确的结果。