【问题标题】:Assigning values to a randomly generated assembly为随机生成的程序集赋值
【发布时间】:2021-02-22 15:27:21
【问题描述】:
suits <- c("clubs", "hearts", "spades", "diamonds")
face <- c("two","three","four","five","six","seven",
          "eight","nine","ten","jack","queen","king","ace")

deck <- crossing(suit = suits, face_val = face) %>%
  unite(card, face_val, suit, sep = '-') 


deal <- function(deck, handsize) {
  sample_n(deck, size = handsize, replace = TRUE)
}

deal(deck, 5)

所以本质上我想计算生成的 5 张卡片的总值。因此,例如国王的价值将是 10 等等。这样做最好的方法是什么。我想我必须以某种方式为每张特定的卡分配一个值,然后从那里开始计算。 当我运行这个函数时,我得到了一组随机的 5 张卡片。 卡

1 个王牌俱乐部
2个七黑桃 3 王钻 4个四分会
5 十颗钻石 例如,然后我想获得集合的总值。所以在这种情况下,它将是 11+7+10+4+10=42

【问题讨论】:

  • 写一个向量,名字是卡片,元素是值。然后相应地设置子集

标签: r


【解决方案1】:

一个命名的值向量在这里会做得很好!这使您可以按“交易”函数输出的名称进行索引。

face <- c("two","three","four","five","six","seven",
          "eight","nine","ten","jack","queen","king","ace")
values <- c(2:10, 10, 10, 10, 11)
names(values) <- face

hand <- sample(face, 5)
hand_vals <- values[hand]
hand_total <- sum(hand_vals)

【讨论】:

    猜你喜欢
    • 2012-04-19
    • 2023-02-04
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多