2012-11-27 1 views
0

ggplot에 점을 추가하는 중 어떻게 x와 y 좌표를 변수로 만들 수 있습니까? 이 코드를 시도하지만ggplot에 점을 추가 할 때 x 및 y 좌표를 변수로 만드는 방법은 무엇입니까?

func <- function(data){ 

    meanx <- mean(data[,1]) 
    meany <- mean(data[,2]) 

    p <- ggplot(data, aes(x = data[,1], y = data[,2])) 
    p + 
    geom_point(size = 5, shape = 19, color = "#00FF00", 
     aes(x = meanx, y = meany)) 

} 

func(iris) 

나는 다음과 같은 오류가 작동하지 않습니다

Error in eval(expr, envir, enclos) : object 'meanx' not found 

사람이 제발 도와 줄 수 있습니까?

+0

'aes_string'을보세요 – Justin

답변

4

하나의 해결책은 오류 메시지 파라미터의 값으로 지정되는 데이터 프레임 data의 인해 meanxmeany없는 부분

geom_point(size = 5, shape = 19, color = "#00FF00", aes(x = meanx, y = meany)) 

annotate("point",size = 5, shape = 19, color = "#00FF00", x = meanx, y = meany) 
+0

예! 작동합니다! 고마워요! – Autumn

3

으로 대체하는 것 ggplot 함수의 data

data = data.frame(meanx, meany)geom_point에 추가하면 작동합니다.

0

한 가지 옵션은 Justing says와 같이 aes_string을 사용하는 것입니다. 이것은 정확히 당신이 묻는 것을 수행하고 문자열을 사용하여 미학을 지정합니다. 그러나 Sven이 제안한 것처럼 meanx와 meany를 data.frame에 넣는 것이 더 좋습니다.

+0

고마워! – Autumn

관련 문제