我在R數據$高度中的數據框中有一列。值範圍從0到400.我想對列中的值進行歸一化,使得結果值介於0-1和分位數之間,即數據集中的中值應該反映爲0.5作爲新值。分位數標準化R中的單個列
任何猜測如何做到這一點。
我在R數據$高度中的數據框中有一列。值範圍從0到400.我想對列中的值進行歸一化,使得結果值介於0-1和分位數之間,即數據集中的中值應該反映爲0.5作爲新值。分位數標準化R中的單個列
任何猜測如何做到這一點。
R函數ppoints
是值映射到他們的百分等級的常用方法。
查看其a
參數 -
設置a=1
爲最小值爲0,最大值爲1
設置a=0
爲最小值爲1 /(N + 1)和最大的值,以N /(N + 1)
缺省情況下它具有= 3/8(如果n爲10或更小)或A = 1/2(當n大於10)
將使用該函數通過R中的其他函數。例如i t由qqnorm
調用以執行正常的分位數分位數圖。
你想要某種rank
,例如在
> set.seed(1)
> exdf <- data.frame(height = runif(5, min=0, max=400))
> exdf$r1 <- (rank(exdf$height) - 1)/(length(exdf$height)-1)
> exdf$r2 <- (rank(exdf$height)-1/2)/length(exdf$height)
> exdf
height r1 r2
1 106.20347 0.25 0.3
2 148.84956 0.50 0.5
3 229.14135 0.75 0.7
4 363.28312 1.00 0.9
5 80.67277 0.00 0.1