ggplot(dat, aes(x=Var1, y=Var2))
대신 ggplot(dat, aes(x=dat[,1], y=dat[,2]))
과 같은 것이 필요합니다. 즉, 주소 대신 변수 이름을 사용하여 산점도를 그려야합니다. (나는 '무언가'라고 말합니다. 왜냐하면 후자가 효과가 없기 때문입니다).변수 번호로 x와 y를 주소 지정
여기 내 코드입니다 :
showplot1<-function(indata, inx, iny){
dat<-indata
print(nrow(dat)); # this is just to show that object 'dat' is defined
p <- ggplot(dat, aes(x=dat[,inx], y=dat[,iny]))
p + geom_point(size=4, alpha = 0.5)
}
testdata<-data.frame(v1=rnorm(100), v2=rnorm(100), v3=rnorm(100), v4=rnorm(100), v5=rnorm(100))
showplot1(indata=testdata, inx=2, iny=3)
# Error in eval(expr, envir, enclos) : object 'dat' not found
사실, 솔루션이 더 유연 해 보이며 정확한 축 제목을 만드는 것도 좋습니다 ... 감사합니다! –
ggplot2 v2.0.0부터 : 다른 패키지의 NSE 기능의 SE 버전과 일치하도록 aes_q()가 aes_()로 대체되었습니다. https://github.com/hadley/ggplot2/blob/master/NEWS.md# 더 이상 사용되지 않는 기능 – Tung