我有扑克手,我需要检查三种。有没有办法看看矢量中的3个元素是否相同,但另外2个元素是否不同?
E.g:
Debug.Print
应该返回hand <- c("Q","Q","6","5","Q")
三种类型。
TRUE
......虽然是一个完整的房子,但不应该被认定为三种类型。
答案 0 :(得分:6)
使用table
并进行一些逻辑检查可以帮助您:
tab <- table(hand)
#hand
#5 6 Q
#1 1 3
any(tab==3) & (sum(tab==1)==2)
#[1] TRUE
tab <- table(hand2)
#hand2
#6 Q
#2 3
any(tab==3) & (sum(tab==1)==2)
#[1] FALSE
这是有效的,因为any
会查看tab
文件,检查是否有任何卡片值重复3次。函数的tab==1
部分检查tab
文件中的任何值是否等于1,为表的每个部分返回TRUE
或FALSE
。 sum
- TRUE/FALSE
值相当于汇总1/0
值,因此,如果您检查其他卡的总和为2
,则可以确定它们是argparse
不同。