为 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
广告