R에서 음모와 같은 연령 피라미드를 만드는 방법은 무엇입니까?


14

Age Pyramid는 다음과 같습니다. 대체 텍스트
비슷한 범주를 가진 2 개의 막대 그래프 (히스토그램이 아님)를 세로로 회전하고 피라미드에서와 같이 양쪽으로 확장하고 싶습니다.
R에서 이것을 수행하는 간단한 방법입니까?
각 막대의 색상을 제어하는 ​​것도 좋습니다.

답변:


21

당신은이 작업을 수행 할 수 기능 로부터 패키지로 제공된다. 예를 들면 다음과 같습니다.pyramid.plot()plotrix

library(plotrix)
 xy.pop<-c(3.2,3.5,3.6,3.6,3.5,3.5,3.9,3.7,3.9,3.5,3.2,2.8,2.2,1.8,
  1.5,1.3,0.7,0.4)
 xx.pop<-c(3.2,3.4,3.5,3.5,3.5,3.7,4,3.8,3.9,3.6,3.2,2.5,2,1.7,1.5,
  1.3,1,0.8)
 agelabels<-c("0-4","5-9","10-14","15-19","20-24","25-29","30-34",
  "35-39","40-44","45-49","50-54","55-59","60-64","65-69","70-74",
  "75-79","80-44","85+")
 mcol<-color.gradient(c(0,0,0.5,1),c(0,0,0.5,1),c(1,1,0.5,1),18)
 fcol<-color.gradient(c(1,1,0.5,1),c(0.5,0.5,0.5,1),c(0.5,0.5,0.5,1),18)
 par(mar=pyramid.plot(xy.pop,xx.pop,labels=agelabels,
  main="Australian population pyramid 2002",lxcol=mcol,rxcol=fcol,
  gap=0.5,show.values=TRUE))

다음과 같이 보입니다. 대체 텍스트


실제로 양 측면에 다른 스케일을 갖도록 완전히 재 작성했지만 R에는 기본적으로 할 수있는 것이 아무것도없는 것 같습니다.

ggplot2로 할 수 있다고 확신하지만 약간의 노력이 필요합니다.
Shane

@mbq 참고로 HH 패키지 에는 피라미드 형 차트 기능이 있습니다. 이 사이트 의이 질문 은 Likert 유형 데이터에 대한 예제를 제공 하며 비슷한 막대 차트를 생성하기 위해 해킹 될 수 있다고 생각합니다. ggplot2에서 반사 카운트를 표시 해야하는 한 가지 쉬운 방법은 하나의 막대를 음수로하고 다른 막대를 양수로 만드는 것입니다 (ggplot2가 피라미드 플롯과 같은 대칭 치수를 지원하는지 확실하지 않음).
Andy W
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.