如何使用wrap函数在GGally::ggpairs中使用黄土方法
我试图复制Coursera R回归模型课程中给出的这个简单示例:如何使用wrap函数在GGally::ggpairs中使用黄土方法,r,ggplot2,loess,ggally,R,Ggplot2,Loess,Ggally,我试图复制Coursera R回归模型课程中给出的这个简单示例: require(datasets) data(swiss) require(GGally) require(ggplot2) ggpairs(swiss, lower = list(continuous = "smooth", params = c(method = "loess"))) 我希望看到一个6x6对图-瑞士数据中6个变量的每个组合的黄土更平滑和置信区间的散点图 但是,我得到以下错误: display_param_Er
require(datasets)
data(swiss)
require(GGally)
require(ggplot2)
ggpairs(swiss, lower = list(continuous = "smooth", params = c(method = "loess")))
我希望看到一个6x6对图-瑞士数据中6个变量的每个组合的黄土更平滑和置信区间的散点图
但是,我得到以下错误:
display_param_Error()中出错:'params'是不推荐使用的参数。
请“包装”函数以提供参数。帮助(“包装”,包装)=
“GGally”)
我查看了ggpairs()
和wrap()
帮助文件,并尝试了大量使用参数arg()的wrap()
和wrap\u fn\u函数的排列
我可以让它按预期工作:
ggpairs(swiss, lower = list(continuous = wrap("smooth")))
但一旦我加入黄土部分,它就不会:
ggpairs(swiss, lower = list(continuous = wrap("smooth"), method = wrap("loess")))
当我尝试上面的线路时,我得到了这个错误
值[3L]中的错误:以下ggpair绘图函数
随时可用:连续:c('点','平滑','密度',
“cor”,“blank”)组合:c('box','dot','facethist','facetdesignment',
“denstrip”、“blank”)离散:c(“比率”、“facetbar”、“blank”)na:
c('na','blank')
连续诊断:c('densityDiag','barDiag','blankDiag')诊断
离散:c('barDiag','blankDiag')diag na:c('naDiag','blankDiag'))
您还可以提供自己的函数,该函数遵循
函数(数据、映射等){…}并返回ggplot2绘图
object Ex:my_fn一个快速的方法是编写自己的函数。。。下面的一个是根据您问题中的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))
这可能会对传递给每个geon\uz
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"))))
my_fn也许您正在学习Coursera在线课程回归模型,并尝试将课程提供的Rmarkdown文件转换为html文件,然后像我一样遇到此错误
我尝试的方式是:
require(datasets); data(swiss); require(GGally); require(ggplot2)
g = ggpairs(swiss, lower = list(continuous = wrap("smooth", method = "lm")))
g
您也可以尝试使用method=“leash”
,但结果与讲座中给出的结果有些不同method=“lm”
可能更适合我所看到的。我也怀疑你在上Coursera的课。
不过,我找不到任何包含ggplot示例的github回购协议
以下是我所做的工作:
gp = ggpairs(swiss, lower = list(continuous = "smooth"))
gp
谢谢你的建议,但是当我尝试你的代码时,我得到一个错误:未知参数:method@meenaparam就我而言,我没有错。一些R.version
输出:平台x86\u 64-pc-linux-gnu
,操作系统linux-gnu
,version.stringR版本3.3.3(2017-03-06)
。这对我来说确实有效,他们一定已经更新了ggally
,谢谢!谢谢@Firefighter1017,但这提供了线性拟合(lm
),而不是我想要的更平滑的黄土。请参阅上面@scarain的答案,以使您的代码正常工作。
gp = ggpairs(swiss, lower = list(continuous = "smooth"))
gp