在R中,我怎样才能看出字符向量的三个元素是否与长度为5的向量相同

时间:2015-09-29 23:26:03

标签: r vector elements poker

我有扑克手,我需要检查三种。有没有办法看看矢量中的3个元素是否相同,但另外2个元素是否不同?

E.g:

Debug.Print

应该返回hand <- c("Q","Q","6","5","Q") 三种类型。

TRUE

......虽然是一个完整的房子,但不应该被认定为三种类型。

1 个答案:

答案 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,为表的每个部分返回TRUEFALSEsum - TRUE/FALSE值相当于汇总1/0值,因此,如果您检查其他卡的总和为2,则可以确定它们是argparse不同。