用y轴绘制累积分布,将其缩放为R中的正态分布

时间:2016-04-12 11:57:41

标签: r plot cumulative-frequency

这是我第一次有一个我在Stack Overflow上找不到的R问题 - 原谅我,如果我找不到任何东西的原因是我正在寻找的东西的特定术语我不知道(有吗?)。

我想将数据显示为累积频率。由于我的重点更多地放在分布的边缘上,因此将y轴缩放到正态分布是有帮助的。结果应如下所示: enter image description here

我已经阅读过分位数分位数图,但老实说,如果我想保留X轴,我无法弄清楚如何应用它们。

我尝试了<TextBox Text="{Binding Path=Current.SystemDemand,Mode=TwoWay}" /> 图片和base,但无法理解。因此,我目前的解决方案是

ggplot2

plot(ecdf(trees$Volume))

2 个答案:

答案 0 :(得分:2)

我认为您正在寻找scales包和probability_trans()功能:

不改变y尺度:

require(ggplot2)

ggplot(data = trees,
       aes(Volume)) + 
    stat_ecdf()

enter image description here

随着y轴的转换:

ggplot(data = trees,
       aes(Volume)) + 
    stat_ecdf() + 
    scale_y_continuous(trans = scales::probability_trans("norm"))

enter image description here

您可以在?probability_trans的文档中详细了解这些内容。 probability_trans()函数采用标准R概率名称来缩放轴。 如果您需要完全自定义的内容,还可以使用trans_new()创建新转换。

答案 1 :(得分:1)

Peter Filzmoser的qpplot.das包中的StatDA函数可能是“base R”方式。

library(StatDA) 
qpplot.das(trees$Volume, qdist = qnorm, xlab = "Volume", line = FALSE) 

output

StatDA软件包用于Reimann,Filzmoser,Garret和Dutter的书籍统计数据分析解释的所有计算和图形。所有R scripts都在线,也是the QP plots的示例。