R'deki arsa gibi yaş piramidi nasıl yapılır?


14

Yaş piramidi şuna benzer: alternatif metin
Dikey olarak döndürülmüş ve piramitte olduğu gibi her iki tarafa da uzanan aynı kategorilere sahip 2 barplot (histogram değil) benzer bir şey yapmak istiyorum.
Bunu R'de yapmanın basit bir yolu var mı?
Her çubuğun rengini kontrol etmek de güzel olurdu.

Yanıtlar:


21

Sen ile yapabilirsiniz işlevi gelen paketin. İşte bir örnek: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))

Sonunda şöyle görünür: alternatif metin


Tamam, aslında her iki tarafta da farklı ölçekler olmasını tamamen yeniden yazdım, ancak görünüşe göre R'de doğal olarak yapabilen hiçbir şey yok.

Eminim bunu ggplot2 ile yapabilirsiniz, ama biraz çaba gerektirecektir.
Shane

@mbq Ayrıca FYI, HH paketinde bir piramit grafik yeteneği vardır . Sitedeki bu soru, benzer çubuk grafikler üretmek için saldırıya uğradığını düşündüğüm Likert tipi veriler için örnekler veriyor . Ggplot2'de yansıyan sayımların görüntülenmesi gerekir, kolay bir yol sadece bir çubuğun negatif ve diğerinin pozitif olmasını sağlamaktır (ggplot2'nin piramit grafikleri gibi yansıtılmış boyutları destekleyip desteklemediğinden emin değilsiniz).
Andy W
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.