如何根據至少一個或多個值匹配來篩選 R 資料框的行?


要根據至少一個或多個值匹配來篩選 R 資料框的行,我們可以按照以下步驟操作:

  • 首先,建立一個數據框。

  • 然後,使用 rowSums 函式結合 sapply 函式和匹配的值,來篩選資料框的行,如果至少一個或多個值匹配。

示例

建立資料框

讓我們建立一個如下所示的資料框:

x<-rpois(25,5)
y<-rpois(25,5)
z<-rpois(25,5)
df<-data.frame(x,y,z)
df

輸出

執行上述指令碼後,將生成以下輸出(由於隨機化,此輸出在您的系統上可能會有所不同):

    x y  z
1   5 5  2
2  10 5  5
3   3 4  6
4   9 4 12
5   2 4  5
6   3 4  4
7   4 3  9
8   4 5 10
9   5 3  9
10  3 2  2
11  2 8  4
12  4 5  2
13  2 9  2
14  5 2  1
15  6 2  7
16  2 4  7
17  7 5  5
18  3 3  1
19  4 4  7
20  7 4  5
21  4 4  4
22  3 6  2
23  3 2  7
24  1 3  3
25  5 4  4

篩選資料框

使用 rowSums 函式結合 sapply 函式和值 4、5、6、7、8 來匹配,以篩選資料框的行,如果這些值中至少有一個或多個匹配:

x<-rpois(25,5)
y<-rpois(25,5)
z<-rpois(25,5)
df<-data.frame(x,y,z)
df[rowSums(sapply(df[], '%in%', c(4,5,6,7,8)))>0,]

輸出

    x y  z
1   5 5  2
2  10 5  5
3   3 4  6
4   9 4 12
5   2 4  5
6   3 4  4
7   4 3  9
8   4 5 10
9   5 3  9
11  2 8  4
12  4 5  2
14  5 2  1
15  6 2  7
16  2 4  7
17  7 5  5
19  4 4  7
20  7 4  5
21  4 4  4
22  3 6  2
23  3 2  7
25  5 4  4

更新於: 2021年11月11日

337 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.