比例变换和坐标系变换有什么区别
what is the difference between scale transformation and coordinate system transformation
coord_trans坐标变换函数的文档里说这个函数和scale_x_log10的区别是变换发生在统计之后,比例变换发生在之前,我没有'没明白点check documentation here 。
以及如何使用这两种方法绘制数据
您提供的文档中的引述告诉我们,比例变换发生在之前任何与绘图相关的统计分析。
文档中提供的示例特别有用,因为它涉及回归分析。在比例变换的情况下,即使用
d <- subset(diamonds, carat > 0.5)
qplot(carat, price, data = d, log="xy") + geom_smooth(method="lm"),
首先转换尺度,然后执行回归分析。最小化误差的 SS 是在转换轴(或转换数据)上完成的,只有当您认为变量日志之间存在线性关系时,您才会想要这样做。结果是 log-log 图上的一条直线,即使坐标轴未按比例缩放 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. 将坐标转换回原始(线性)系统,这不会产生应有的直线。在第一种情况下,您实际上拟合了一条指数曲线,该曲线 在 log-log 图上看起来 笔直。
coord_trans坐标变换函数的文档里说这个函数和scale_x_log10的区别是变换发生在统计之后,比例变换发生在之前,我没有'没明白点check documentation here 。 以及如何使用这两种方法绘制数据
您提供的文档中的引述告诉我们,比例变换发生在之前任何与绘图相关的统计分析。
文档中提供的示例特别有用,因为它涉及回归分析。在比例变换的情况下,即使用
d <- subset(diamonds, carat > 0.5)
qplot(carat, price, data = d, log="xy") + geom_smooth(method="lm"),
首先转换尺度,然后执行回归分析。最小化误差的 SS 是在转换轴(或转换数据)上完成的,只有当您认为变量日志之间存在线性关系时,您才会想要这样做。结果是 log-log 图上的一条直线,即使坐标轴未按比例缩放 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. 将坐标转换回原始(线性)系统,这不会产生应有的直线。在第一种情况下,您实际上拟合了一条指数曲线,该曲线 在 log-log 图上看起来 笔直。