2009-10-06 6 views
7

길이가 다른 세 개의 데이터 세트가 있고 동일한 플롯에서 세 가지 모두의 밀도 함수를 플로팅하고 싶습니다. 이 기본 그래픽 정직 : 나에게 이런 식으로 뭔가를 제공ggplot 및 R을 사용하여 미리 정의 된 밀도 함수 플로팅

n <- c(rnorm(10000), rnorm(10000)) 
a <- c(rnorm(10001), rnorm(10001, 0, 2)) 
p <- c(rnorm(10002), rnorm(10002, 2, .5)) 

plot(density(n)) 
lines(density(a)) 
lines(density(p)) 

:

alt text http://www.cerebralmastication.com/wp-content/uploads/2009/10/density.png

하지만 난 정말 난 단지 다른 기능을 추가 할 수 있기 때문에 GGPLOT2으로이 작업을 수행 할 수 GGPLOT2와 함께 사용할 수 있습니다. GGPLOT이 실제로 내 경험적 데이터를 취해 저의 밀도를 계산하려고합니다. 그리고 그것은 내 데이터 세트가 다른 길이이기 때문에 나에게 많은 립스틱을 준다. 그렇다면 GGPLOT2에서이 세 가지 농도를 어떻게 구할 수 있습니까?

df <- rbind(data.frame(x="n",value=n), 
      data.frame(x="a",value=a), 
      data.frame(x="p",value=p)) 
qplot(value, colour=x, data=df, geom="density") 

것은 당신이 색상을 원하지 않는 경우 :

는 ggplot2에 행복의 비결은 형식 (또는 내가 어떻게 됐을까 매트릭스 지향적 인 사람들은 "스파 스"부를 것)은 "긴"모든 것을 넣어
+0

궁금한 점 ... 왜 ggplot2를 항상 자본화합니까? –

+0

사실 내 손가락이 아니야. 그냥 저기로 건너 뛰고 내 허락없이 Shift 키를 누릅니다. :) 하루 종일 대문자로 많은 약어를 타이핑하면 무의식적 인 결과라고 생각합니다. 나는 그것을 소문자로 남기기 위해 의식적인 노력을 기울이고있다. plyr을 사용하여 동일한 작업을 수행합니다 (입력 한대로 백 스페이스를 사용하여 소문자로 사용해야 함). Hadley는 이미 내 코드에서 변수 이름에 case + 밑줄을 섞기 위해 내 찹을 파기했습니다. 내가 조심하지 않으면 너희들은 나를 더 깔끔하고 쉽게 읽을 수있게 만들거야! –

답변

12

입니다 :

qplot(value, group=x, data=df, geom="density") 
+0

당신은 내 밤을 훨씬 나아졌습니다. 나는 이것으로 고투하고 그것을 알아낼 수 없었다. 정말 고맙습니다. –