Google AdSense (text)

hidden logo stop

Moving

거지 같은 이글루스 광고노출 정책이 싫어서,
새 보금자리(http://blog.leocat.kr/)로 이사감.

[R/ggplot2] 함수로 그래프 그리기 Computer & Program

R은 데이터를 가지고 뚝딱뚝딱하기 좋다. 그런데 데이터는 없고 함수만 있다면 어떻게 그래프를 그릴 수 있을까?? 간단한 계산을 하면서 x값에 따른 y의 변화 추세 등을 보고 싶었다. 아주 간단한 2차원 그래프 하나면 된다.



R은 주로 데이터를 위주로 사용했기 때문에 함수만 있는 경우는 어떻게 해야 하는지 모르겠다. 이럴 때 R Graphics Cookbook 책을 여는거다. 역시 있다. 앞부분에 뙇!!

우선, ggplot2를 사용한 방법이다.

> myfun <- function(x) {
+ ((2^0.5) * x) / (2 - (2^0.5))
+ }

> ggplot(data.frame(x=c(0,10)),aes(x=x)) + stat_function(fun=myfun, geom='line')

stat_function 함수를 사용하면 된다. fun은 그래프를 그릴 함수이고, geom은 그래프 타입이다. data.frame으로 그래프를 그릴 범위를 지정해 주면 된다.



그리고 기본 패키지를 사용한 방법도 있다. 역시 from, to로 x축 범위를 정해줄 수 있다.

> myfun <- function(x) {
+ ((2^0.5) * x) / (2 - (2^0.5))
+ }

> curve(myfun, from=0, to=10)
> # 함수를 직접 지정해 줄 수도 있다.
> curve(((2^0.5) * x) / (2 - (2^0.5)), from=0, to=10)


덧글

댓글 입력 영역

Google AdSense (text/image)