我可以告诉 ggpairs 使用对数刻度吗?
我可以向 GGally 包中的 ggpairs 函数提供一个参数,以便对某些而不是全部变量使用对数刻度吗?
Can I provide a parameter to the ggpairs
function in the GGally package to use log scales for some, not all, variables?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您无法提供这样的参数(原因是创建散点图的函数是在没有比例的情况下预定义的,请参阅
ggally_points
),但您可以随后使用getPlot
更改比例代码>和putPlot
。例如:You can't provide the parameter as such (a reason is that the function creating the scatter plots is predefined without scale, see
ggally_points
), but you can change the scale afterward usinggetPlot
andputPlot
. For instance:这本质上与 Jean-Robert 的答案相同,但看起来更简单(平易近人)。我不知道这是否是一个新功能,但看起来您不再需要使用
getPlot
或putPlot
。custom_scale[1,2]<-custom_scale[1,2] + scale_y_log10() + scale_x_log10()
这是一个将其应用于大矩阵的函数。提供绘图中的行数和绘图名称。
This is essentially the same answer as Jean-Robert but looks much more simple (approachable). I don't know if it is a new feature but it doesn't look like you need to use
getPlot
orputPlot
anymore.custom_scale[1,2]<-custom_scale[1,2] + scale_y_log10() + scale_x_log10()
Here is a function to apply it across a big matrix. Supply the number of rows in the plot and the name of the plot.
在将它们提供给 ggpairs 之前,最好适当使用线性标度和对数变换变量,因为这可以避免相关系数计算方式的歧义(在对数变换之前或之后)。
这可以很容易地实现,例如:
It's probably better use a linear scale and log transform variables as appropriate before supplying them to
ggpairs
because this avoids ambiguity in how the correlation coefficients have been computed (before or after log-transform).This can be easily achieved e.g. like this: