为了找到R数据帧中数值的位置,我们使用哪个函数,如果该值是字符串,则将使用相同的函数,但是我们需要适当地传递该值。例如,如果我们有一个名为df的数据框,其中包含一个值,例如tutor,那么我们可以使用命令which(df ==“ tutor”,arr.ind = TRUE)找到教师的位置。
考虑以下数据帧-
> 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
> 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中找到欧洲的位置-
> 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