簡體   English   中英

使用Hmisc中的cut2來計算不同數量的組的切割

[英]Using cut2 from Hmisc to calculate cuts for different number of groups

我試圖通過使用Hmisc的cut2計算向量的等分位數。

library(Hmisc)
c <- c(-4.18304,-3.18343,-2.93237,-2.82836,-2.13478,-2.01892,-1.88773,
       -1.83124,-1.74953,-1.74858,-0.63265,-0.59626,-0.5681)

cut2(c, g=3, onlycuts=TRUE)

[1] -4.18304 -2.01892 -1.74858 -0.56810

但我期望獲得以下結果(33%,33%,33%):

[1] -4.18304 -2.13478 -1.74858 -0.56810

我還是應該使用cut2還是嘗試其他方法? 我該如何運作? 謝謝你的建議。

您看到的是切點,但是您想要表格計數,並且希望它們占總數的一部分,因此請執行以下操作:

> prop.table(table(cut2(c, g=3) ) )

[-4.18,-2.019) [-2.02,-1.749) [-1.75,-0.568] 
     0.3846154      0.3076923      0.3076923 

(顯然,當元素的數量不能被3整除時,您不能期望cut2能夠創建精確的拆分。)

原始數據集中似乎偶然有13個值,而不是12個。 不能將13個值平均分為三個分位數組(如BondedDust所述)。 這是原始的問題,只是排除了一個選定的數據值(-1.74953),使其變為十二個值。 這給出了最初預期的結果:

library(Hmisc)

c<-c(-4.18304,-3.18343,-2.93237,-2.82836,-2.13478,-2.01892,-1.88773,-1.83124,-1.74858,-0.63265,-0.59626,-0.5681)

cut2(c, g=3,onlycuts=TRUE)
#[1] -4.18304 -2.13478 -1.74953 -0.5681


為了使對不熟悉Hmisc包中的 cut2任何人(今天上午像我一樣)更清楚,這是一個類似的問題,除了我們將使用1到12之間的整數(分配給向量dozen_values )。

library(Hmisc)

dozen_values <-1:12

quantile_groups <- cut2(dozen_values,g=3)

levels(quantile_groups)
## [1] "[1, 5)" "[5, 9)" "[9,12]"

cutpoints <- cut2(dozen_values, g=3, onlycuts=TRUE)

cutpoints
## [1]  1  5  9 12

# Show which values belong to which quantile group, using a data frame
quantile_DF <- data.frame(dozen_values, quantile_groups)
names(quantile_DF) <- c("value", "quantile_group")

quantile_DF
##    value quantile_group
## 1      1         [1, 5)
## 2      2         [1, 5)
## 3      3         [1, 5)
## 4      4         [1, 5)
## 5      5         [5, 9)
## 6      6         [5, 9)
## 7      7         [5, 9)
## 8      8         [5, 9)
## 9      9         [9,12]
## 10    10         [9,12]
## 11    11         [9,12]
## 12    12         [9,12]

請注意,第一個分位數組包括但不包括 5的所有內容(在這種情況下為1到4)。 第二個分位數組包含5個, 但不包括 9個(在這種情況下,即5到8)。 第三(最后)分位數組包含9到12,其中包括最后一個值12。與其他分位數組不同,第三分位數組包括所示的最后一個值。

無論如何,你可以看到“切點” 159 ,和12描述了最簡潔的方式位數組的起點和終點,卻是鈍沒有閱讀相關文檔 (鏈接到單一頁面內-R網站,而不是將近400頁的PDF手冊)。

如果您不熟悉,請參閱有關括號與方括號符號的說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM