我试图复制Coursera R回归模型课程中给出的这个简单例子:
ggpairs()
我希望看到一个6x6对图 - 一个散点图,黄土更平滑,瑞士数据中6个变量的每个组合的置信区间。
但是,我收到以下错误:
display_param_error()中的错误:' params'是一个弃用的参数。 请包装'提供参数的功能。帮助(" wrap",package = " GGally&#34)
我查看了wrap()
和wrap()
个帮助文件,并尝试了wrap_fn_with_param_arg()
和ggpairs(swiss, lower = list(continuous = wrap("smooth")))
函数的大量排列。
我可以按预期工作:
ggpairs(swiss, lower = list(continuous = wrap("smooth"), method = wrap("loess")))
但是一旦我添加了黄土部分,它就不会:
my_service:
class: path/to/TestClass
arguments: [@argument1, @argument2]
当我尝试上面一行时,我收到此错误。
值[3L]出错:以下ggpair绘图功能 随时可用:连续:c('点','平滑','密度', ' cor','空白')组合:c(' box',' dot',' facethist',& #39; facetdensity&#39 ;, ' denstrip'空白')离散:c('比率',' facetbar','空白')na : c(' na','空白')
diag continuous:c(' densityDiag',' barDiag',' blankDiag')diag 离散的:c(' barDiag',' blankDiag')diag na:c(' naDiag',' blankDiag')
您也可以提供遵循api的自己的功能 功能(数据,映射,...){。 。 。并返回一个ggplot2图 对象Ex:my_fn< - function(data,mapping,...){p< - ggplot(data = data,mapping = mapping)+ geom_point(...)p} ggpairs(data,lower = list(continuous = my_fn))
提供的功能:黄土
显然我在错误的地方进入黄土。任何人都可以帮我理解如何添加黄土部分吗?
请注意,我的问题与this one不同,因为我要求如何在ggpairs中实现黄土,因为params参数已被弃用。
非常感谢。
答案 0 :(得分:23)
一种快捷方式是编写自己的函数...下面的函数是根据问题中ggpairs
错误消息提供的函数编辑的
library(GGally)
library(ggplot2)
data(swiss)
# Function to return points and geom_smooth
# allow for the method to be changed
my_fn <- function(data, mapping, method="loess", ...){
p <- ggplot(data = data, mapping = mapping) +
geom_point() +
geom_smooth(method=method, ...)
p
}
# Default loess curve
ggpairs(swiss[1:4], lower = list(continuous = my_fn))
# Use wrap to add further arguments; change method to lm
ggpairs(swiss[1:4], lower = list(continuous = wrap(my_fn, method="lm")))
这可能会更多地控制传递给每个geon_
my_fn <- function(data, mapping, pts=list(), smt=list(), ...){
ggplot(data = data, mapping = mapping, ...) +
do.call(geom_point, pts) +
do.call(geom_smooth, smt)
}
# Plot
ggpairs(swiss[1:4],
lower = list(continuous =
wrap(my_fn,
pts=list(size=2, colour="red"),
smt=list(method="lm", se=F, size=5, colour="blue"))))
答案 1 :(得分:9)
也许您正在使用Coursera在线课程回归模型,并尝试将课程提供的Rmarkdown文件转换为html文件,并像我一样遇到此错误。
我尝试的方式是:
require(datasets); data(swiss); require(GGally); require(ggplot2)
g = ggpairs(swiss, lower = list(continuous = wrap("smooth", method = "lm")))
g
您也可以尝试使用method="loess"
,但结果与讲座中的结果略有不同。 method = "lm"
可能比我看到的更合适。
答案 2 :(得分:1)
我怀疑你是在参加Coursera的课程。 虽然,我找不到任何包含ggplot的例子的github回购。
以下是我的工作:
RaiseEvent