2017-11-02 4 views
-1

나는 시계열 플롯 (선 그래프)을 만드는 함수를 작성하려고합니다. 함수에 인수를 전달하여 플롯이 만들어 지도록하려면 어떻게해야합니까? aes_string 등을 사용하는 등 여러 가지 방법을 시도했지만 성공하지 못했습니다.ggplot2를 사용하여 라인 플롯을 얻기 위해 함수에 인수를 전달하는 방법은 무엇입니까?

lineplotfun <- function(feature){ 
    ggplot(aes(x = 1:length(feature), y = feature), data = mtcars) + 
    geom_line() 
    } 

lineplotfun(mpg) 

문자열 또는 이름으로 mpg을 전달하고 싶습니다.

+0

당신은'lineplotfun (mtcars $의 MPG)를'찾으시는 것입니까? 그게 잘 작동하기 때문에 오류를 코드화합니다. –

+0

인수에서 무엇을 전달하려고합니까? 변수 이름? 벡터 데이터? 데이터 프레임? – MrGumble

답변

0

문제의 코드에 많은 문제가 있습니다. 길이 (기능)을 금지

1) ympgdata = mtcarstibble

3) y = feature

4) 1 무의미하다 ggplot2이로드되면 aes()

2)에 있지 feature이 벡터 인 경우 의미가 있습니다

원하는 것을 달성하는 한 가지 방법은 다음과 같습니다. data = NULL을 설정하고 함수에 벡터를 전달합니다

lineplotfun <- function(feature){ 
    require(ggplot2) 
    ggplot2::ggplot(data = NULL, aes(x = seq_along(feature), y = feature)) + 
    ggplot2::geom_line() 
} 

lineplotfun(mtcars$mpg) 

결과는 다음과 같습니다

ggplot