我想创建一个用户定义的函数,它包含我发现的一些流行的 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)