相关疑难解决方法(0)

无法将用户定义函数中的参数传递给 ggplot

我想创建一个用户定义的函数,它包含我发现的一些流行的 ggplot 代码。我收到以下错误:

"Error in `[.data.frame`(DS, , xvar) : object 'xcol' not found" 
Run Code Online (Sandbox Code Playgroud)

下面是一个小的伪数据集来说明这个问题。

n=25
dataTest <- data.frame(xcol=sample(1:3, n, replace=TRUE), ycol = rnorm(n, 5, 2), Cat=letters[1:5])
Run Code Online (Sandbox Code Playgroud)

用户定义的代码如下:

  TRIPLOT <- function (DS,xvar,yvar,zvar) {
 #localenv<-environment()
  gg <- data.frame(x=DS[,xvar],y=DS[,yvar],fill=DS[,zvar])
  empty<-ggplot()+geom_point(aes(1,1),colour="white") + theme( 
    plot.background = element_blank(),
    panel.background = element_blank(),
    panel.grid.minor = element_blank(),
    panel.border = element_blank(),
    panel.background = element_blank(),
    axis.title.x = element_blank(),
    axis.title.y = element_blank(),
    axis.text.x = element_blank(),
    axis.text.y = element_blank(),
    axis.ticks = element_blank())
  scatter <-ggplot(gg, aes_string(x=xvar,y=yvar), environment=environment())+
    geom_point(aes_string(color=zvar))+
    scale_color_manual(values=c("orange","purple"))+
    theme(legend.position=c(1,1), legend.justification=c(1,1))
  plot_top <- ggplot(gg,aes_string(x=xvar, …
Run Code Online (Sandbox Code Playgroud)

r user-defined-functions ggplot2

3
推荐指数
1
解决办法
1535
查看次数

标签 统计

ggplot2 ×1

r ×1

user-defined-functions ×1