如何根據 R 資料幀中一列值範圍選擇行?


可以透過多種方式來提取或選擇資料,例如基於單個值、值範圍等。當我們要比較資料集的子集或將子集用於分析時,常常需要這樣做。還可以基於值的範圍來選擇行進行測試。我們可以透過子集函式來執行此操作。

示例

考慮以下資料幀 −

 現場演示

> x1<-rpois(20,2)
> x2<-rpois(20,5)
> x3<-rpois(20,10)
> df<-data.frame(x1,x2,x3)
> df

輸出

 x1 x2 x3
1 3 2 6
2 3 4 9
3 4 4 12
4 4 8 12
5 3 5 11
6 2 1 9
7 3 5 8
8 1 5 12
9 1 4 5
10 3 3 5
11 2 6 15
12 0 2 5
13 2 6 12
14 2 4 16
15 0 8 14
16 4 1 5
17 1 7 12
18 3 5 9
19 1 6 3
20 0 3 4
> subset(df,df$x1>0 & df$x1<4)

輸出

 x1 x2 x3
1 3 2 6
2 3 4 9
5 3 5 11
6 2 1 9
7 3 5 8
8 1 5 12
9 1 4 5
10 3 3 5
11 2 6 15
13 2 6 12
14 2 4 16
17 1 7 12
18 3 5 9
19 1 6 3
> subset(df,df$x1>=1 & df$x1<4)

輸出

 x1 x2 x3
1 3 2 6
2 3 4 9
5 3 5 11
6 2 1 9
7 3 5 8
8 1 5 12
9 1 4 5
10 3 3 5
11 2 6 15
13 2 6 12
14 2 4 16
17 1 7 12
18 3 5 9
19 1 6 3
> subset(df,df$x1>=1 & df$x1<3)

輸出

 x1 x2 x3
6 2 1 9
8 1 5 12
9 1 4 5
11 2 6 15
13 2 6 12
14 2 4 16
17 1 7 12
19 1 6 3
> subset(df,df$x1>2 & df$x1<=3)

輸出

 x1 x2 x3
1 3 2 6
2 3 4 9
5 3 5 11
7 3 5 8
10 3 3 5
18 3 5 9
> subset(df,df$x2>2 & df$x2<6)

輸出

 x1 x2 x3
2 3 4 9
3 4 4 12
5 3 5 11
7 3 5 8
8 1 5 12
9 1 4 5
10 3 3 5
14 2 4 16
18 3 5 9
20 0 3 4
> subset(df,df$x3>2 & df$x3<11)

輸出

 x1 x2 x3
1 3 2 6
2 3 4 9
6 2 1 9
7 3 5 8
9 1 4 5
10 3 3 5
12 0 2 5
16 4 1 5
18 3 5 9
19 1 6 3
20 0 3 4

更新於:2020 年 9 月 4 日

2K+ 次瀏覽

啟動您的 職業生涯

完成課程即可獲得認證

開始
廣告
© . All rights reserved.