簡體   English   中英

在R中,如何查看字符向量的三個元素在長度為5的向量中是否相同

[英]in R, how can I see if three elements of a character vector are the same out of a vector of length 5

我有撲克牌,需要檢查三種。 有沒有辦法查看向量中的3個元素是否相同但其他2個元素是否不同?

例如:

hand <- c("Q","Q","6","5","Q")

對於三種類型,應返回TRUE

hand2 <- c("Q","Q","6","6","Q")

...雖然將是一個完整的房子,但不應被認為是三人間。

使用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 le中的任何值是否等於1,對於表的每個部分返回TRUEFALSE sum TRUE/FALSE值求和等於對1/0值求和,因此,如果您檢查其他卡的總和為2 ,則可以確定它們是不同的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM