如何基于R数据帧列的值获取行索引?

R数据帧的一行可以在列中具有多种方式,并且这些值可以是数字,逻辑,字符串等。基于行号查找值很容易,但是基于值查找行号却很不同。如果要在特定列中查找特定值的行号,则可以提取整行,这似乎是一种更好的方法,可以使用单个方括号来获取行的子集。

示例

请看以下数据帧-

x1<-rnorm(20,0.5)

x2<-rpois(20,2)

x3<-rpois(20,5)

x4<-rpois(20,10)

x5<-rnorm(20,2)

df<-data.frame(x1,x2,x3,x4,x5)

df

输出结果

      x1       x2 x3  x4      x5

1 1.33780769    1 5    1    3.3322153

2 2.22651263    3 5    14   3.4969403

3 0.53231950    4 9    8    3.7816594

4 0.99704756    1 6    13    2.7308284

5 0.37735760    2 5    7     2.3210021

6 0.96967898    3 7    8     1.9086576

7 0.06543569    2 4    9    1.4005479

8 1.59064892    1 8    14    1.1250329

9 0.48771130    1 4    11    2.2479028

10 0.64134261   0 9    5    2.4194513

11 0.43355439   3 2    18    -0.7633724

12 1.31803573   3 4    10    2.6201427

13 0.25367683   3 6    9    1.5728880

14 1.07884550   5 4    9    0.8045540

15 0.78574641   6 6    8    1.3538888

16 -0.27873444  2 6    12    3.5431787

17 0.28112519   2 3    8    4.1865617

18 1.24416762   4 4    11    2.3626763

19 -0.04745463  2 5    13    3.4203297

20 1.33358241   1 9    14    2.8205837

查找还将返回值的行索引的行-

示例

df[df$x4==14,]

输出结果

      x1   x2 x3 x4 x5

2 2.226513  3 5  14 3.496940

8 1.590649  1 8  14 1.125033

20 1.333582 1 9  14 2.820584

示例

df[df$x4==12,]

输出结果

      x1     x2  x3  x4   x5

16 -0.2787344 2  6   12 3.543179

示例

df[df$x4==7,]

输出结果

      x1    x2  x3 x4    x5

5 0.3773576 2   5   7 2.321002

示例

df[df$x4==9,]

输出结果

      x1       x2 x3 x4    x5

7 0.06543569    2 4   9    1.400548

13 0.25367683   3 6   9    1.572888

14 1.07884550   5 4   9    0.804554

示例

df[df$x2==2,]

输出结果

      x1       x2 x3 x4    x5

5 0.37735760    2 5   7    2.321002

7 0.06543569    2 4   9    1.400548

16 -0.27873444  2 6   12   3.543179

17 0.28112519   2 3   8    4.186562

19 -0.04745463  2 5   13    3.420330

示例

df[df$x2==5,]

输出结果

      x1    x2 x3 x4   x5

14 1.078845 5   4  9  0.804554

示例

df[df$x2==4,]

输出结果

      x1    x2 x3 x4   x5

3 0.5323195 4   9 8  3.781659

18 1.2441676 4  4 11 2.362676

示例

df[df$x3==4,]

输出结果

      x1    x2 x3  x4    x5

7 0.06543569 2 4   9    1.400548

9 0.48771130 1 4  11   2.247903

12 1.31803573 3 4 10   2.620143

14 1.07884550 5 4  9    0.804554

18 1.24416762 4 4 11   2.362676

示例

df[df$x3==6,]

输出结果

      x1    x2 x3 x4    x5

4 0.9970476 1   6 13  2.730828

13 0.2536768 3  6 9   1.572888

15 0.7857464 6  6 8   1.353889

16 -0.2787344 2 6 12  3.543179

示例

df[df$x3==5,]

输出结果

      x1    x2 x3 x4 x5

1 1.33780769 1 5  1 3.332215

2 2.22651263 3 5 14 3.496940

5 0.37735760 2 5  7 2.321002

19 -0.04745463 2 5 13 3.420330

示例

df[df$x3==8,]

输出结果

      x1   x2 x3 x4 x5

8 1.590649 1  8 14 1.125033

示例

df[df$x2==1,]

输出结果

      x1    x2 x3  x4   x5

1 1.3378077 1   5  1  3.332215

4 0.9970476 1   6  13  2.730828

8 1.5906489 1   8  14  1.125033

9 0.4877113 1   4  11  2.247903

20 1.3335824 1  9  14  2.820584

以上是 如何基于R数据帧列的值获取行索引? 的全部内容, 来源链接: utcz.com/z/357978.html

回到顶部