【发布时间】:2015-04-12 06:55:45
【问题描述】:
在用于坐标变换的 coord_trans 函数的文档中,它说这个函数和 scale_x_log10 之间的区别是变换发生在统计之后,而比例变换发生在之前,我没有明白check documentation here 的意思。 以及如何使用这两种方法绘制数据
【问题讨论】:
标签: r statistics
在用于坐标变换的 coord_trans 函数的文档中,它说这个函数和 scale_x_log10 之间的区别是变换发生在统计之后,而比例变换发生在之前,我没有明白check documentation here 的意思。 以及如何使用这两种方法绘制数据
【问题讨论】:
标签: r statistics
您提供的文档中的引述告诉我们,比例转换发生在与该图有关的任何统计分析之前。
文档中提供的示例特别有用,因为它涉及回归分析。在尺度变换的情况下,即使用
d <- subset(diamonds, carat > 0.5)
qplot(carat, price, data = d, log="xy") + geom_smooth(method="lm"),
首先转换尺度,然后然后执行回归分析。最小化误差的 SS 是在转换后的轴(或转换后的数据)上完成的,只有在您认为变量的对数之间存在线性关系时才需要这样做。结果是对数对数图上的一条直线,即使轴没有按 1:1 缩放(在此示例中很难看到)。
同时,使用时
qplot(carat, price, data = d) +
geom_smooth(method="lm") +
coord_trans(x = "log10", y = "log10")
首先对未转换的数据(和轴,即独立于绘图)执行回归分析,然后使用转换后的坐标绘制所有内容。这导致回归线根本不是直的,因为它的方程(或者更确切地说是它的点的坐标)在坐标变换的过程中被变换了。
这在文档中通过使用进一步说明
library(scales)
qplot(carat, price, data=diamonds, log="xy") +
geom_smooth(method="lm") +
coord_trans(x = exp_trans(10), y = exp_trans(10))
您可以在其中看到 1. 使用比例变换,2. 拟合线和 3. 将坐标转换回原始(线性)系统,这不会产生应有的直线。在第一种情况下,您实际上拟合了一条指数曲线,它看起来直接在对数图上。
【讨论】: