如何根據與模式匹配的 R 資料框的特定列值提取列?
R 資料框的列值可以透過使用單個方括號進行子集化輕鬆提取,但如果我們想要提取與模式匹配的列值,則需要在單個方括號內使用 grepl 函式,這將幫助我們匹配資料框列中值的模式。
示例
考慮以下資料框
> set.seed(271)
> x1<-sample(c("A187","A321","A123","A242"),20,replace=TRUE)
> x2<-sample(c("B87","B74","B81","B71"),20,replace=TRUE)
> df1<-data.frame(x1,x2)
> df1輸出
x1 x2 1 A242 B71 2 A123 B71 3 A242 B81 4 A242 B87 5 A123 B71 6 A321 B71 7 A187 B74 8 A321 B74 9 A123 B71 10 A242 B74 11 A321 B74 12 A187 B87 13 A321 B74 14 A321 B74 15 A123 B74 16 A187 B87 17 A123 B81 18 A242 B87 19 A242 B71 20 A187 B74
提取以 A1 開頭的值
示例
> df1[grepl("A1",x1),]輸出
x1 x2 2 A123 B71 5 A123 B71 7 A187 B74 9 A123 B71 12 A187 B87 15 A123 B74 16 A187 B87 17 A123 B81 20 A187 B74
提取以 A2 開頭的值
示例
> df1[grepl("A2",x1),]輸出
x1 x2 1 A242 B71 3 A242 B81 4 A242 B87 10 A242 B74 18 A242 B87 19 A242 B71
提取以 A3 開頭的值
示例
> df1[grepl("A3",x1),]輸出
x1 x2 6 A321 B71 8 A321 B74 11 A321 B74 13 A321 B74 14 A321 B74
提取以 B7 開頭的值
示例
> df1[grepl("B7",x2),]輸出
x1 x2 1 A242 B71 2 A123 B71 5 A123 B71 6 A321 B71 7 A187 B74 8 A321 B74 9 A123 B71 10 A242 B74 11 A321 B74 13 A321 B74 14 A321 B74 15 A123 B74 19 A242 B71 20 A187 B74
提取以 B8 開頭的值
示例
> df1[grepl("B8",x2),]輸出
x1 x2 3 A242 B81 4 A242 B87 12 A187 B87 16 A187 B87 17 A123 B81 18 A242 B87
讓我們看看另一個例子
示例
> y1<-sample(c("ID1","ID2","ID3","ID4"),20,replace=TRUE)
> y2<-sample(c("C1","C2"),20,replace=TRUE)
> df2<-data.frame(y1,y2)
> df2輸出
y1 y2 1 ID1 C1 2 ID3 C1 3 ID1 C1 4 ID2 C2 5 ID4 C2 6 ID2 C2 7 ID2 C1 8 ID3 C1 9 ID1 C1 10 ID1 C1 11 ID2 C2 12 ID2 C2 13 ID4 C1 14 ID3 C2 15 ID2 C1 16 ID4 C1 17 ID4 C1 18 ID2 C2 19 ID2 C2 20 ID3 C2
示例
> df2[grepl("ID1",y1),]輸出
y1 y2 1 ID1 C1 3 ID1 C1 9 ID1 C1 10 ID1 C1
示例
> df2[grepl("ID2",y1),]輸出
y1 y2 4 ID2 C2 6 ID2 C2 7 ID2 C1 11 ID2 C2 12 ID2 C2 15 ID2 C1 18 ID2 C2 19 ID2 C2
示例
> df2[grepl("ID3",y1),]輸出
y1 y2 2 ID3 C1 8 ID3 C1 14 ID3 C2 20 ID3 C2
示例
> df2[grepl("ID4",y1),]輸出
y1 y2 5 ID4 C2 13 ID4 C1 16 ID4 C1 17 ID4 C1
示例
> df2[grepl("C1",y2),]輸出
y1 y2 1 ID1 C1 2 ID3 C1 3 ID1 C1 7 ID2 C1 8 ID3 C1 9 ID1 C1 10 ID1 C1 13 ID4 C1 15 ID2 C1 16 ID4 C1 17 ID4 C1
示例
> df2[grepl("C2",y2),]輸出
y1 y2 4 ID2 C2 5 ID4 C2 6 ID2 C2 11 ID2 C2 12 ID2 C2 14 ID3 C2 18 ID2 C2 19 ID2 C2 20 ID3 C2
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP