如何根據兩列字串匹配以及OR條件篩選R資料框?
要根據兩列中的字串匹配以及OR條件篩選R資料框,我們可以使用`grepl`函式,結合雙括號和OR運算子`|`。例如,如果我們有一個名為`df`的資料框,其中包含兩列字串(例如x和y),那麼可以透過以下方法基於任何一列中的特定字串匹配進行篩選:
語法
df[grepl("text",df[["x"]])|grepl("text",df[["y"]]),]檢視下面的例子來了解它是如何工作的。
示例1
考慮以下資料框:
f1<-sample(c("India","China","Egypt","UK"),20,replace=TRUE)
f2<-sample(c("India","China","Egypt","UK"),20,replace=TRUE)
v1<-rnorm(20)
df1<-data.frame(f1,f2,v1)
df1輸出
f1 f2 v1 1 India India 0.58383357 2 UK Egypt -0.71045054 3 India China -0.07848666 4 Egypt India 1.21017481 5 Egypt UK -0.81991817 6 Egypt China 1.98979283 7 India India 0.36160374 8 Egypt China -1.77619986 9 China UK -0.05397712 10 India Egypt -0.30372078 11 Egypt India -1.68623489 12 India India -0.41997104 13 India China -0.97064798 14 UK Egypt 2.02704796 15 UK Egypt -0.47732133 16 China China 0.53153059 17 Egypt UK -1.71608164 18 Egypt India -0.73298689 19 UK UK 1.83674440 20 China China -1.12186527
基於在任意前兩列中匹配“India”來篩選`df1`:
df1<-df1[grepl("India",df1[["f1"]])|grepl("India",df1[["f2"]]),]
df1f1 f2 v1 1 India India 0.58383357 3 India China -0.07848666 4 Egypt India 1.21017481 7 India India 0.36160374 10 India Egypt -0.30372078 11 Egypt India -1.68623489 12 India India -0.41997104 13 India China -0.97064798 18 Egypt India -0.73298689
示例2
g1<-sample(c("Male","Female"),20,replace=TRUE)
g2<-sample(c("Male","Female"),20,replace=TRUE)
v2<-rpois(20,5)
df2<-data.frame(g1,g2)
df2輸出
g1 g2 1 Female Male 2 Female Male 3 Female Female 4 Male Male 5 Male Female 6 Female Female 7 Female Male 8 Male Male 9 Male Female 10 Male Female 11 Female Female 12 Male Male 13 Male Male 14 Male Female 15 Female Male 16 Female Male 17 Female Male 18 Male Female 19 Female Female 20 Male Female
基於在任意前兩列中匹配“Female”來篩選`df2`:
df2<-df2[grepl("Female",df2[["g2"]])|grepl("Female",df2[["g2"]]),]
df2g1 g2 3 Female Female 5 Male Female 6 Female Female 9 Male Female 10 Male Female 11 Female Female 14 Male Female 18 Male Female 19 Female Female 20 Male Female
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP