1

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

我想将数据显示为累积频率。由于我更关注分布的边缘,因此将 y 轴缩放到正态分布会很有帮助。结果应如下所示: 在此处输入图像描述

我读过分位数-分位数图,但老实说,如果我想保留 X 轴,我不知道如何应用它们。

我尝试了base图形和ggplot2,但无法弄清楚。因此,我目前的解决方案是,例如

plot(ecdf(trees$Volume))

或者

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

2 回答 2

2

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

在不转换 y 比例的情况下:

require(ggplot2)

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

在此处输入图像描述

随着 y 轴的变换:

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

在此处输入图像描述

您可以在文档中阅读有关这些的更多信息?probability_trans。该probability_trans()函数采用标准 R 概率名称来缩放您的轴。trans_new()如果您需要完全自定义的东西,您还可以创建一个新的转换。

于 2016-04-12T13:46:33.273 回答
1

Peter Filzmoser 包中的qpplot.das功能StatDA可能是您的“ baseR”方式。

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

输出

StatDA 包用于Reimann、Filzmoser、Garret 和 Dutter所著的Statistical Data Analysis Explained一书的所有计算和图形。所有R 脚本都在线,还有QP 图的示例。

于 2018-03-13T09:26:54.547 回答