如何在 R 資料框中查詢字元值的行和列索引?
要查詢 R 資料框中數值的行列索引,我們可以使用 which 函式;如果該值是字元型,則使用相同的函式,但需要適當地傳遞該值。例如,如果我們有一個名為 df 的資料框,其中包含一個名為 Data 的值,則可以透過使用 which(df=="Data",arr.ind=TRUE) 命令來查詢 Data 的行列索引。
示例1
考慮以下資料框 -
> x1<-sample(c("Male","Female"),20,replace=TRUE)
> x2<-rpois(20,5)
> df1<-data.frame(x1,x2)
> df1輸出
x1 x2 1 Female 5 2 Female 5 3 Female 6 4 Female 6 5 Male 6 6 Female 6 7 Female 7 8 Male 0 9 Male 4 10 Male 3 11 Male 8 12 Female 6 13 Female 5 14 Male 5 15 Male 4 16 Male 7 17 Female 4 18 Male 4 19 Male 3 20 Male 5
查詢 df1 中 Male 的行列索引 -
> which(df1=="Male",arr.ind=TRUE)
輸出
row col [1,] 5 1 [2,] 8 1 [3,] 9 1 [4,] 10 1 [5,] 11 1 [6,] 14 1 [7,] 15 1 [8,] 16 1 [9,] 18 1 [10,] 19 1 [11,] 20 1
示例2
> y1<-sample(c("India","UK","USA"),20,replace=TRUE)
> y2<-sample(c("Egypt","UK","Sudan"),20,replace=TRUE)
> df2<-data.frame(y1,y2)
> df2輸出
y1 y2 1 UK Sudan 2 USA Egypt 3 India UK 4 UK Egypt 5 UK Sudan 6 India UK 7 USA Egypt 8 UK UK 9 UK Sudan 10 USA Egypt 11 UK Egypt 12 India Egypt 13 India Egypt 14 India Egypt 15 UK UK 16 India Sudan 17 UK Sudan 18 UK UK 19 UK Sudan 20 India Sudan
查詢 df2 中 UK 的行列索引 -
> which(df2=="UK",arr.ind=TRUE)
輸出
row col [1,] 1 1 [2,] 4 1 [3,] 5 1 [4,] 8 1 [5,] 9 1 [6,] 11 1 [7,] 15 1 [8,] 17 1 [9,] 18 1 [10,] 19 1 [11,] 3 2 [12,] 6 2 [13,] 8 2 [14,] 15 2 [15,] 18 2
示例3
> z1<-sample(c("Milk","Curd","Pastry"),20,replace=TRUE)
> z2<-sample(c("Milk","Tea"),20,replace=TRUE)
> df3<-data.frame(z1,z2)
> df3輸出
z1 z2 1 Pastry Tea 2 Pastry Milk 3 Milk Milk 4 Pastry Tea 5 Curd Tea 6 Pastry Tea 7 Curd Tea 8 Curd Tea 9 Milk Tea 10 Milk Tea 11 Pastry Milk 12 Pastry Tea 13 Curd Milk 14 Milk Tea 15 Milk Milk 16 Curd Tea 17 Milk Tea 18 Curd Tea 19 Curd Milk 20 Milk Milk
查詢 df3 中 Milk 的行列索引 -
> which(df3=="Milk",arr.ind=TRUE)
輸出
row col [1,] 3 1 [2,] 9 1 [3,] 10 1 [4,] 14 1 [5,] 15 1 [6,] 17 1 [7,] 20 1 [8,] 2 2 [9,] 3 2 [10,] 11 2 [11,] 13 2 [12,] 15 2 [13,] 19 2 [14,] 20 2
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP