q <- quantile(faithful$eruptions)
> q
     0%     25%     50%     75%    100%
1.60000 2.16275 4.00000 4.45425 5.10000

我得到以下结果,数据集在R中提供。
 head(faithful)
  eruptions waiting
1     3.600      79
2     1.800      54
3     3.333      74
4     2.283      62
5     4.533      85
6     2.883      55

我想要一个包含数据的数据框和一个额外的列,用于指出每个观察值所属的分位数。例如,最终的数据集应该看起来像
     eruptions waiting Quartile
1     3.600      79      Q1
2     1.800      54      Q2
3     3.333      74
4     2.283      62
5     4.533      85
6     2.883      55

如何才能做到这一点?

最佳答案

与此类似的东西吗?使用quantile函数中的值作为剪切所需矢量的值。

faithful$kva <- cut(faithful$eruptions, q)
levels(faithful$kva) <- c("Q1", "Q2", "Q3", "Q4")
faithful

    eruptions waiting  kva
1       3.600      79   Q2
2       1.800      54   Q1
3       3.333      74   Q2
4       2.283      62   Q2
5       4.533      85   Q4

关于r - 获取与每个四分位数相对应的观测值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22009940/

10-12 17:23