2017-10-15 129 views
0

我想根据第1,第3和第4个分位数(即0-25%,25%-75%,75% 100%)。我已经使用了下面的代码,但是零不包含在分档中。它们显示为NA。R中的切和分位数不包括零

rawdata1$usage4 <- cut(rawdata1$Usage_Percentage, 
     breaks = quantile(rawdata1$Usage_Percentage, 
     probs = c(-Inf,0.25,0.75,Inf),include.lowest=T),labels=F) 

错误quantile.default(rawdata1 $ Usage_Percentage,probs = C(-Inf, 0.25,: 'probs' 外[0,1]

然而,如果使用以下代码并把它分成4个位数,垃圾箱就好了。

rawdata1$usage5 <- cut(rawdata1$Usage_Percentage, 
    breaks = quantile(rawdata1$Usage_Percentage), 
    include.lowest=T,labels=F) 
+2

你试过'probs = c(0,0.25,0.75,1),' – G5W

回答

0

要包括在装箱,你还可以使用cut2功能从零。 这里是一个例子。

data <- data.frame(vect = c(1.64, 1.5, 1.5, 1.41, 1.64, 1.64, 0, 1.45, 1.64, 1.5, 1.45, 0, 1.45, 1.64, 
          1.5, 1.5, 1.5, 0, 1.5, 1.41, 0.18, 0.09, 0.1, 0.09, 0.05, 0.09, 1.64, 1.5, 
          1.5, 0.1, 0.05, 0.09, 0, 5.82, 5.86, 5.86, 0, 5.82, 5.82, 5.82, 5.82, 5.82, 
          5.86, 5.86, 5.82, 0, 5.91, 9.41, 9.5, 5.91, 0, 9.45, 5.91, 9.45, 5.91, 0, 
          0, 9.55, 5.91, 9.55, 9.5, 9.55, 0, 5.82, 1.64)) 

data$bin <- factor(Hmisc::cut2(data$vect, g = 4), labels = c(1:4)) 
#g represents the number of quantile groups