在用于坐标转换的coord_trans函数的文档中,它表示此函数和scale_x_log10之间的差异是在统计之后发生转换,并且之前发生了比例转换,我没有得到点check documentation here 。 以及如何使用两种方法绘制数据
答案 0 :(得分:2)
您提供的文档中的引用告诉我们,在任何与绘图相关的统计分析之前,会发生缩放转换。
文档中提供的示例特别有用,因为它涉及回归分析。在比例变换的情况下,即使用
d <- subset(diamonds, carat > 0.5)
qplot(carat, price, data = d, log="xy") + geom_smooth(method="lm"),
首先转换尺度,然后然后执行回归分析。最小化SS的错误是在转换轴上完成的,但是 un 转换后的数据,这实际上是你不想要的。结果是对数 - 对数图上的直线,即使轴未按比例缩放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.将坐标转换回原始(线性)系统,这不会产生直线。在第一个场景中,您实际上在对数日志图中直接拟合了看起来的指数曲线。