如何在 R 資料框中查詢字串所在位置?


查詢 R 資料框中數值所在位置時,我們使用哪個函式;如果該值是字串,則使用同一個函式,但需要傳遞值。例如,如果我們有一個名為 df 的資料框,其中包含一個值為 tutor,那麼我們可以使用以下命令查詢 tutor 所在的位置 which(df=="tutor",arr.ind=TRUE)。

示例 1

思考一下下面的資料框 -

線上演示

> x1<-sample(c("2015","2018","2020"),20,replace=TRUE)
> x2<-sample(c("2015","2018","2020"),20,replace=TRUE)
> x3<-sample(c("2015","2018","2020"),20,replace=TRUE)
> df1<-data.frame(x1,x2,x3)
> df1

輸出

     x1   x2   x3
1  2018 2020 2018
2  2020 2020 2015
3  2018 2020 2015
4  2018 2015 2020
5  2018 2015 2018
6  2018 2020 2015
7  2015 2018 2020
8  2020 2018 2020
9  2015 2015 2018
10 2015 2015 2020
11 2020 2020 2020
12 2018 2018 2015
13 2015 2018 2015
14 2015 2018 2018
15 2015 2020 2020
16 2015 2020 2015
17 2015 2015 2018
18 2020 2015 2015
19 2020 2015 2015
20 2015 2020 2020

查詢 df1 中 2020 所在位置 -

> which(df1=="2020",arr.ind=TRUE)

輸出

      row col
 [1,]   2   1
 [2,]   8   1
 [3,]  11   1
 [4,]  18   1
 [5,]  19   1
 [6,]   1   2
 [7,]   2   2
 [8,]   3   2
 [9,]   6   2
[10,]  11   2
[11,]  15   2
[12,]  16   2
[13,]  20   2
[14,]   4   3
[15,]   7   3
[16,]   8   3
[17,]  10   3
[18,]  11   3
[19,]  15   3
[20,]  20   3

示例 2

線上演示

> y1<-sample(c("Asia","Africa","Europe"),20,replace=TRUE)
> y2<-sample(c("Asia","Africa","Europe"),20,replace=TRUE)
> df2<-data.frame(y1,y2)
> df2

輸出

       y1     y2
1  Europe   Asia
2  Europe Africa
3  Africa   Asia
4  Africa Africa
5  Europe Europe
6    Asia   Asia
7  Europe Europe
8  Africa Europe
9  Africa   Asia
10 Europe Africa
11 Europe Africa
12 Africa Europe
13 Europe Africa
14 Europe   Asia
15 Africa Europe
16 Africa   Asia
17 Europe Africa
18 Europe Africa
19   Asia   Asia
20 Africa   Asia

查詢 df2 中 Europe 所在位置 -

> which(df2=="Europe",arr.ind=TRUE)

輸出

      row col
 [1,]   1   1
 [2,]   2   1
 [3,]   5   1
 [4,]   7   1
 [5,]  10   1
 [6,]  11   1
 [7,]  13   1
 [8,]  14   1
 [9,]  17   1
[10,]  18   1
[11,]   5   2
[12,]   7   2
[13,]   8   2
[14,]  12   2
[15,]  15   2

更新於: 06-Mar-2021

2K+ 檢視次數

開啟你的 職業 生涯

完成課程獲取認證

開始吧
廣告
© . All rights reserved.