如何組合多個條件以使用“OR”對數(shù)據(jù)幀進行子集化?我在R中有一個data.frame。我想在兩個不同的列上嘗試兩種不同的條件,但我希望這些條件具有包容性。因此,我想用“OR”來結(jié)合條件。當我想使用“AND”條件時,我已經(jīng)使用了以下語法,并取得了很多成功。my.data.frame <- data[(data$V1 > 2) & (data$V2 < 4), ]但我不知道如何在上面使用'OR'。
3 回答

www說
TA貢獻1775條經(jīng)驗 獲得超8個贊
為了完整起見,我們可以使用運算符[和[[:
set.seed(1)
df <- data.frame(v1 = runif(10), v2 = letters[1:10])
幾個選項
df[df[1] < 0.5 | df[2] == "g", ]
df[df[[1]] < 0.5 | df[[2]] == "g", ]
df[df["v1"] < 0.5 | df["v2"] == "g", ]
df $ name 相當于 df [[“name”,exact = FALSE]]
使用dplyr:
library(dplyr)
filter(df, v1 < 0.5 | v2 == "g")
使用sqldf:
library(sqldf)
sqldf('SELECT *
FROM df
WHERE v1 < 0.5 OR v2 = "g"')
以上選項的輸出:
v1 v2
1 0.26550866 a
2 0.37212390 b
3 0.20168193 e
4 0.94467527 g
5 0.06178627 j
- 3 回答
- 0 關注
- 482 瀏覽
添加回答
舉報
0/150
提交
取消