使用分位数获得 r 中的百分位数

Use quantile to get percentile in r

我正在尝试将我的数据分为 30% 和 70% 之间的 3 个组,Previosly 很容易让我按相等的组来分配我的数据,如下面的代码证明。

MV_UK$`1993` <- with(MV_UK, cut(MV_UK$`1993`, breaks = quantile(MV_UK$`1993`, probs = seq(0,1 , by= 0.5), na.rm = TRUE), include.lowest = TRUE , labels= c("S","B") )) 

我试过这个代码

  MV_UK$`1992` <- with(MV_UK, cut(BTM_UK$`1992`, breaks = quantile(MV_UK$`1992`, probs = c(.3,.7) , na.rm = TRUE), include.lowest = TRUE , labels= c("L","M","B") )) 

但是我得到一个错误

  lengths of 'breaks' and 'labels' differ

基本上就是错误所说的 - 在第二个示例中,您提供了 2 个组 (probs = c(.3,.7)),这少于您提供的标签数量 (c("L","M","B"))

请注意,在您的第一个代码片段中, seq(0,1 , by= 0.5) 您生成 3 个不同的值(0.0、0.5、1.0)

因此您可以添加另一个分界点,或删除标签。