为 R 数据框列中的每个值创建一个四分位数列。

任何数值数据都可以用三个四分位数分成四个部分,第一个四分位数为 25%,第二个四分位数为 50%,第三个四分位数为 75%,因此将有四个季度分别代表前 25%、第二个 25%、第三个 25%以及一组数据中的最后 25%。

如果我们想为 R 数据框列中的每个值创建一个四分位数(1 到 4)列,那么我们可以使用 quantile 函数和 cut 函数,如下面的示例所示。

示例 1

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

x<-sample(1:50,20)

df1<-data.frame(x)

df1

创建了以下数据框

    x

1   4

2  44

3   1

4  14

5   5

6  18

7   3

8  16

9  41

10 10

11 35

12 48

13 36

14 23

15 17

16 19

17 11

18 43

19 28

20 29

要在上面创建的数据框中为 df1 中的 x 列创建四分位数列,请将以下代码添加到上述代码段中 -

x<-sample(1:50,20)

df1<-data.frame(x)

df1$Quartile<-cut(df1$x,quantile(df1$x),include.lowest=TRUE,labels=FALSE)

df1

输出结果

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

    x Quartile

1   4   1

2  44   4

3   1   1

4  14   2

5   5   1

6  18   2

7   3   1

8  16   2

9  41   4

10 10   1

11 35   3

12 48   4

13 36   4

14 23   3

15 17   2

16 19   3

17 11   2

18 43   4

19 28   3

20 29   3

示例 2

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

y<-rnorm(20)

df2<-data.frame(y)

df2

创建了以下数据框

           y

1  -0.08949509

2  -0.12711363

3  -0.52805367

4   0.08087408

5  -1.35069115

6   0.13678392

7  -0.41386292

8  -0.80830050

9  -1.13387570

10 -1.56282579

11 -1.27191819

12  1.10834061

13 -1.53450425

14  0.83568645

15 -0.52896185

16  0.45211521

17 -1.45162982

18 -0.63935428

19  1.71258558

20  1.09091493

要在上面创建的数据框中为 df2 中的 y 列创建四分位数列,请将以下代码添加到上面的代码段中 -

y<-rnorm(20)

df2<-data.frame(y)

df2$Quartile<-cut(df2$y,quantile(df2$y),include.lowest=TRUE,labels=FALSE)

df2

输出结果

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

            y Quartile

1  -0.08949509    3

2  -0.12711363    3

3  -0.52805367    2

4   0.08087408    3

5  -1.35069115    1

6   0.13678392    3

7  -0.41386292    3

8  -0.80830050    2

9  -1.13387570    2

10 -1.56282579    1

11 -1.27191819    1

12  1.10834061    4

13 -1.53450425    1

14  0.83568645    4

15 -0.52896185    2

16  0.45211521    4

17 -1.45162982    1

18 -0.63935428    2

19  1.71258558    4

20  1.09091493    4

以上是 为 R 数据框列中的每个值创建一个四分位数列。 的全部内容, 来源链接: utcz.com/z/317251.html

回到顶部