如何为R中的每一行找到n个四分位数?

找到 R 数据框中每一行的 n 个四分位数,我们可以使用 apply 函数和 quantile 函数。

例如,如果我们有一个名为 df 的数据框,其中包含一百行,并且我们想为每一行找到两个四分位数,比如第一和第三,那么我们可以使用下面提到的命令 -

apply(df,1,quantile,c(0.25,0.75))

示例 1

以下代码段创建了一个示例数据框 -

x1<-rpois(20,1)

x2<-rpois(20,2)

x3<-rpois(20,5)

x4<-rpois(20,10)

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

df1

创建以下数据框 -

   x1 x2 x3 x4

1  0  2  5  12

2  0  2  5  11

3  2  1  6   9

4  3  1  6   8

5  1  1  9  11

6  0  4  3   8

7  1  2  5   7

8  1  0  5  10

9  1  4  8  11

10 4  2  5  14

11 0  5  7   9

12 1  2  9  10

13 1  2  8  11

14 0  1  2   9

15 1  0  3  10

16 1  3  6  11

17 0  1  3  11

18 2  1  1   7

19 1  1  7   8

20 0  3  5   9

要查找 df1 中每一行的第一个四分位数、第二个四分位数和第三个四分位数,请将以下代码添加到上述代码段中 -

x1<-rpois(20,1)

x2<-rpois(20,2)

x3<-rpois(20,5)

x4<-rpois(20,10)

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

apply(df1,1,quantile,c(0.25,0.50,0.75))

输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

    [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]

25% 1.50 1.5  1.75 2.5  1.0  2.25 1.75 0.75 3.25 3.50  3.75  1.75  1.75  0.75

50% 3.50 3.5  4.00 4.5  5.0  3.50 3.50 3.00 6.00 4.50  6.00  5.50  5.00  1.50

75% 6.75 6.5 6.75 6.5 9.5 5.00 5.50 6.25 8.75 7.25 7.50 9.25 8.75 3.75

  [,15] [,16] [,17] [,18] [,19] [,20]

25% 0.75 2.50 0.75  1.00  1.00  2.25

50% 2.00 4.50 2.00  1.50  4.00  4.00

75% 4.75 7.25 5.00  3.25  7.25  6.00

示例 2

以下代码段创建了一个示例数据框 -

y1<-round(rnorm(20),2)

y2<-round(rnorm(20),2)

y3<-round(rnorm(20),2)

df2<-data.frame(y1,y2,y3)

df2

创建以下数据框 -

     y1     y2     y3

1  -1.41   1.96  -0.23

2  -0.27  -0.05  -0.51

3   0.72   0.40  -0.93

4   1.07   1.68  -0.82

5   0.34  -0.86  -0.29

6   1.67  -0.13   1.60

7   0.38   0.57  -0.28

8  -0.91   0.39   0.61

9   0.99   0.75   0.21

10  0.40   0.74  -2.61

11  1.52   0.97   0.92

12  1.35   0.14   0.04

13 -0.51   0.49  -0.29

14  0.46   0.07  -1.62

15 -0.51  -1.55   0.81

16 -0.65  -0.20   0.96

17  0.68  -0.75   0.65

18 -0.34   0.22  -0.26

19 -0.59  -0.28  -0.09

20  1.98   0.85   0.15

要查找 df1 中每一行的第一个四分位数、第二个四分位数和第三个四分位数,请将以下代码添加到上述代码段中 -

apply(df1,1,quantile,c(0.25,0.75))
输出结果

如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -

    [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]

25% 1.50 1.5  1.75 2.5  1.0  2.25 1.75 0.75 3.25 3.50  3.75  1.75  1.75  0.75

75% 6.75 6.5  6.75 6.5  9.5  5.00 5.50 6.25 8.75 7.25  7.50  9.25  8.75  3.75

     [,15] [,16] [,17] [,18] [,19] [,20]

25% 0.75  2.50   0.75  1.00  1.00  2.25

75% 4.75  7.25   5.00  3.25  7.25  6.00

以上是 如何为R中的每一行找到n个四分位数? 的全部内容, 来源链接: utcz.com/z/343722.html

回到顶部