dll*_*mn3 2 poker r vector elements
我有扑克手,我需要检查三种.有没有办法看看矢量中的3个元素是否相同,但另外2个元素是否不同?
例如:
hand <- c("Q","Q","6","5","Q")
Run Code Online (Sandbox Code Playgroud)
应该返回TRUE三种.
hand2 <- c("Q","Q","6","6","Q")
Run Code Online (Sandbox Code Playgroud)
......虽然是一个完整的房子,但不应该被认定为三种房子.
使用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
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为any将查看文件tab,检查是否有任何卡值重复3次.tab==1函数的一部分检查文件中的任何值tab是否等于1,返回TRUE或FALSE表的每个部分.sum-ing TRUE/FALSE值相当于求和1/0值,所以如果你检查你有2其他卡的总和,你可以确定它们是不同的.