如何基于索引从R数据帧列中提取特定值?

有时我们想弄清楚哪个值位于R数据框列中的某个位置,这有助于我们理解数据收集或数据模拟过程。例如,如果我们有一个包含x,y和z列的数据帧df,每个列具有5000个值,那么我们可以使用df $x [[253]]查找哪些值位于数据帧df列x的第253行。

示例

请看以下数据帧-

set.seed(987)

x<-rnorm(20,521,30.7)

y<-rnorm(20,20,4.05)

z<-rnorm(20,31,1)

a<-rpois(20,8)

b<-rpois(20,10)

c<-rpois(20,2)

df<-data.frame(x,y,z,a,b,c)

df

输出结果

   x    y     z      a     b    c

1 519.2497 26.62916 31.48431 14 18 0

2 529.2888 16.46887 32.70400 5 5 1

3 547.8463 13.71248 29.73358 10 11 2

4 515.1564 22.82227 30.12065 6 5 5

5 554.7914 20.28892 32.52483 7 2 4

6 493.5616 15.45613 31.23513 14 10 3

7 491.6825 22.32123 30.81875 4 9 4

8 494.7252 18.33388 32.50834 8 13 1

9 486.8303 13.96303 30.71686 5 10 2

10 481.4361 18.60518 32.32576 13 9 3

11 544.2612 19.79058 32.56325 7 8 1

12 494.0999 23.56244 30.83515 4 14 3

13 574.9847 27.61496 29.30917 9 6 0

14 520.7027 27.62166 29.93995 10 12 0

15 507.2346 22.38830 31.16826 7 15 0

16 517.3553 22.60314 31.76175 6 9 2

17 507.0164 18.61279 31.86548 10 10 3

18 484.6791 24.74147 31.88115 5 6 5

19 507.0228 25.21739 32.09461 5 4 0

20 552.1552 16.49131 31.39587 5 7 2

使用索引从列x中提取值-

df$x[[1]]

[1] 519.2497

df$x[[5]]

[1] 554.7914

df$x[[6]]

[1] 493.5616

df$x[[7]]

[1] 491.6825

df$x[[12]]

[1] 494.0999

df$x[[15]]

[1] 507.2346

df$x[[19]]

[1] 507.0228

df$x[[20]]

[1] 552.1552

使用索引从y列中提取值-

df$y[[19]]

[1] 25.21739

df$y[[1]]

[1] 26.62916

df$y[[4]]

[1] 22.82227

df$y[[3]]

[1] 13.71248

df$y[[5]]

[1] 20.28892

df$y[[7]]

[1] 22.32123

df$y[[10]]

[1] 18.60518

df$y[[9]]

[1] 13.96303

df$y[[13]]

[1] 27.61496

df$y[[14]]

[1] 27.62166

df$y[[18]]

[1] 24.74147

使用索引从z列中提取值:

df$z[[2]]

[1] 32.704

df$z[[5]]

[1] 32.52483

df$z[[10]]

[1] 32.32576

df$z[[15]]

[1] 31.16826

df$z[[20]]

[1] 31.39587

df$z[[17]]

[1] 31.86548

使用索引从列a中提取值-

df$a[[20]]

[1] 5

df$a[[1]]

[1] 14

df$a[[10]]

[1] 13

df$a[[12]]

[1] 4

df$a[[5]]

[1] 7

df$a[[13]]

[1] 9

df$a[[17]]

[1] 10

df$a[[18]]

[1] 5

df$a[[19]]

[1] 5

使用索引从b列中提取值-

df$b[[1]]

[1] 18

df$b[[5]]

[1] 2

df$b[[10]]

[1] 9

df$b[[15]]

[1] 15

df$b[[20]]

[1] 7

使用索引从列c中提取值-

df$c[[3]]

[1] 2

df$c[[6]]

[1] 3

df$c[[9]]

[1] 2

df$c[[12]]

[1] 3

df$c[[15]]

[1] 0

df$c[[18]]

[1] 5

以上是 如何基于索引从R数据帧列中提取特定值? 的全部内容, 来源链接: utcz.com/z/335037.html

回到顶部