這可能是一個非常基本的R問題......並且對於詢問有點不好......但是有一些代碼,如==
或|
或!
或&
等等執行以下邏輯功能?「任何」操作的邏輯條件
如果
x
==任何元素/包含在矢量值y
然後TRUE
其他
FALSE的
這可能是一個非常基本的R問題......並且對於詢問有點不好......但是有一些代碼,如==
或|
或!
或&
等等執行以下邏輯功能?「任何」操作的邏輯條件
如果
x
==任何元素/包含在矢量值y
然後TRUE
其他
FALSE的
它實際上非常接近你所說的。
any(x == y)
這可以適用於任何長度的x和y,但如果x和y不是彼此長度的倍數,它會發出警告。如果x和y的長度相同,這將是最好的。然而,對於x爲一個項目的有限情況,則
x %in% y
也將工作。而且,如果你有一個與y不同的長度但長度大於1的x,則以下可能是最明智的。
any(x %in% y)
您可以嘗試
x %in% y
其中y
是矢量。
的感謝!正是我所需要的... –
另一種解決方案是使用交叉功能,如果x是一個向量,y是一個向量,你希望看到在兩種載體的所有值。如果x或y是標量,這也可以工作。
# Sample Data
x <- 1:40
y <- 35:100
# We know that 35, 36, 37, 38, 39, 40 are in both vectors
intersect(x, y)
[1] 35 36 37 38 39 40
我不知道你正在試圖解決的具體問題,但是這可能是你假設你需要知道哪些值y中有用。
如果你只需要一個TRUE/FALSE回答沒有看到一個布爾值向量,你會得到在%Y用x%,您可以使用此:
length(intersect(x, y)) > 0
[1] TRUE
謝謝!特別是如果x長於1的擴展名。 –
我不太同意這個答案,並且個人認爲李敏釗的答案更符合問題的要求。我認爲如果x或y的長度爲1但是過去這不符合原始問題描述的情況,則此工作正常。 – Dason
這不起作用?我的第一個和最後一個版本可以使用任何長度的x和y。這讓他們更安全,以防止您將訂單混淆。 – John