如何在R语言中计算抽到红色国王或王后的概率并修正代码
问题原因
你的代码报错是三个问题共同导致的:
- 筛选条件位置错误:
color == "Red"属于子集筛选规则,需要放到subset()函数的第二个参数(筛选逻辑参数)内,而不是写在subset()函数的外面 - 括号匹配错误:你的错误写法存在多余的逗号、右括号,语法不符合R的解析规则
- 逻辑运算优先级问题:R中
&的优先级高于|,需要先把「Queen 或 King」的条件用括号包裹,再和红色条件做与运算,才能匹配你要求的(Queen ∪ King) ∩ Red的数学逻辑
修正后可运行代码
Probability_of_a_Red_Queen_or_King <- nrow(subset(Deck_of_Cards, (card == "Queen" | card == "King") & color == "Red")) / nrow(Deck_of_Cards)
计算逻辑说明
上述代码会先筛选出所有同时满足「牌面是Q或K」、「花色为红色」的卡片,用符合条件的卡片数量除以整副牌的总数量,即可得到你需要的概率值。
内容的提问来源于stack exchange,提问作者wrawrs
相关产品推荐
相关产品推荐

