我试图复制Coursera R回归模型课程中提供的这个简单示例:
require(datasets)
data(swiss)
require(GGally)
require(ggplot2)
ggpairs(swiss, lower = list(continuous = "smooth", params = c(method = "loess")))
我希望看到一个6x6的配对图——瑞士数据中6个变量的每种组合都有一个带有loess平滑和置信区间的散点图。
但是,我遇到了以下错误:
Error in display_param_error() : 'params' 是一个被弃用的参数。请使用 'wrap' 函数来提供参数。help("wrap", package = "GGally")
我查看了 ggpairs()
和 wrap()
的帮助文件,并尝试了许多不同顺序的 wrap()
和 wrap_fn_with_param_arg()
函数。
我可以如下正常工作:
ggpairs(swiss, lower = list(continuous = wrap("smooth")))
但是一旦我加入了黄土部分,它就不行了:
ggpairs(swiss, lower = list(continuous = wrap("smooth"), method = wrap("loess")))
我尝试了上面的代码行后出现了这个错误。
Error in value[3L] : 下列ggpair绘图函数是可以直接使用的: 连续型:c('points', 'smooth', 'density', 'cor', 'blank') 组合型:c('box', 'dot', 'facethist', 'facetdensity', 'denstrip', 'blank') 离散型:c('ratio', 'facetbar', 'blank') na值: c('na', 'blank')
对角线连续型:c('densityDiag', 'barDiag', 'blankDiag') 对角线离散型:c('barDiag', 'blankDiag') 对角线na值:c('naDiag', 'blankDiag')
您也可以提供符合函数(data, mapping, ...){ . . . } api的自定义函数,返回一个ggplot2绘图对象。例如: my_fn <- function(data, mapping, ...){ p <- ggplot(data = data, mapping = mapping) + geom_point(...) p } ggpairs(data, lower = list(continuous = my_fn))
提供的函数:loess
显然,我在错误的位置输入了loess。有人能帮我理解如何添加loess部分吗?
请注意,我的问题与这个问题不同,因为我正在问如何在ggpairs中实现loess,而params参数已过时。
非常感谢。
ggpairs
功能,例如ggpairs(iris, aes(col=Species), lower = list(continuous = my_fn))
。如果您想将其限制在特定的图形中,则需要扩展my_fn
函数。以下是一些最近的问题和答案,这些应该会有所帮助:https://stackoverflow.com/questions/66246984/how-to-customize-graph-with-2nd-correlation-line-in-ggpairs/66248574#66248574,或者甚至可以按组拆分。https://dev59.com/F3ANtIcB2Jgan1zntkJu#71131736; - user20650