为 R 数据框列中的每个值创建一个四分位数列。
任何数值数据都可以用三个四分位数分成四个部分,第一个四分位数为 25%,第二个四分位数为 50%,第三个四分位数为 75%,因此将有四个季度分别代表前 25%、第二个 25%、第三个 25%以及一组数据中的最后 25%。
如果我们想为 R 数据框列中的每个值创建一个四分位数(1 到 4)列,那么我们可以使用 quantile 函数和 cut 函数,如下面的示例所示。
示例 1
以下代码段创建了一个示例数据框 -
x<-sample(1:50,20)df1<-data.frame(x)
df1
创建了以下数据框
x1 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 Quartile1 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
创建了以下数据框
y1 -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 Quartile1 -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