我試圖用 R 中的第二個軸繪制 T 范數分數(M=50,SD=10)及其相對百分位數。
資料框如下所示:
scale <- c("X","Y","Z")
tScore <- c(55, 70, 43)
percentile <- pnorm((tScore-50)/10)
dataFrame <- data.frame(scale,tScore,percentile)
我嘗試使用 sec.axis 函式:
ggplot(dataFrame, aes(tScore,scale)) geom_point()
scale_x_continuous("T Norms", limits=(c(20,80)),
sec.axis = sec_axis(~./ pnorm(dataFrame$tScore), name = "Percentile"))
我試圖在 y 軸的左側獲得比例名稱(X,Y,Z),然后是三個點 - 因為 z 分數和百分位數應該是同一點 - 但有兩個 y 軸,一個在頂部,一個在底部。在此示例中,我嘗試不使用我創建的“百分位數”列(因為我不知道如何),而是直接進行轉換。不幸的是,它并沒有像看起來那樣將 pnorm 作為一種轉換方式。
uj5u.com熱心網友回復:
如果我了解您要達到的目標,則不是 100%。但對我來說,這聽起來像是你想要一個二級 x 刻度來顯示在主要刻度上繪制的 t 分數的百分位數。在那種情況下,不需要trans形成比例范圍。相反,您只需轉換標簽:
library(ggplot2)
perc_label <- function(x) {
x <- pnorm((x - 50) / 10)
scales::label_number(accuracy = .001)(x)
}
ggplot(dataFrame, aes(tScore, scale))
geom_point()
scale_x_continuous("T Norms",
limits = c(20, 80),
sec.axis = dup_axis(
breaks = dataFrame$tScore,
labels = perc_label,
name = "Percentile")
)

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/529692.html
標籤:rggplot2轴轴标签
