1
我有一個n
-by- 1
載體其中n = 20000
。我想爲這個向量中的數據做一個十分位的排名,這個排名基本上是用相應的十分位數來替換每個元素的值。Matlab中的分位數排序
我目前做這種方式:
deciles = quantile(X,9);
X = discretize(X,[-inf deciles inf]);
哪裏X
是我的數據陣列。我這樣做是因爲我想在每個數據組中使用相同數量的10組數據。
你能驗證這個程序嗎?或者讓我知道是否有更健壯的方法來做到這一點?
你可以很容易地驗證這一點 - 只需構造一個小樣本'X',看看你是否得到了正確的結果。我立即建議的一件事就是不要在原地做這件事。即不要重寫'X',而是創建一個新的變量,比如'X_dec',這樣你就可以將它與'X'進行比較,這將有助於你自己驗證你的程序 – Dan
是的,我已經做到了,它工作正常一個小樣本。但是有時當用於龐大的數據集時,有些東西可能會出錯!只是想聽聽其他人是否有意義,或者有其他方法可以做到這一點!但感謝評論! – Tulkkas