Saya baru saja menemukan analisis hebat ini yang menarik dan indah secara visual:
http://www.nytimes.com/interactive/2012/11/02/us/politics/paths-to-the-white-house.html
Saya ingin tahu bagaimana "jalur pohon" seperti itu dapat dibangun menggunakan R. Data dan algoritma apa yang diperlukan untuk membuat pohon jalur seperti itu?
Terima kasih.
r
data-visualization
politics
Tal Galili
sumber
sumber
Jawaban:
Wajar menggunakan solusi rekursif.
Data harus terdiri dari daftar negara bagian yang ikut serta, suara pemilihnya, dan keuntungan awal yang diperkirakan untuk kandidat kiri ("biru"). (Nilai mendekati mereproduksi grafik NY Times.) Pada setiap langkah, dua kemungkinan (menang atau kalah) diperiksa; keuntungan diperbarui; jika pada saat itu hasil (menang, kalah, atau seri) dapat ditentukan - berdasarkan suara yang tersisa - maka perhitungan dihentikan; jika tidak, itu diulang secara rekursif untuk status yang tersisa dalam daftar. Jadi:47
Ini secara efektif memangkas pohon di setiap node, membutuhkan perhitungan jauh lebih sedikit daripada menjelajahi semua hasil yang mungkin. Sisanya hanyalah detail grafis, jadi saya hanya akan membahas bagian-bagian dari algoritma yang penting untuk visualisasi yang efektif.29=512
Program lengkapnya berikut. Ini ditulis dengan cara yang cukup fleksibel untuk memungkinkan pengguna menyesuaikan banyak parameter. Bagian penting dari algoritma grafik adalah tata letak pohon. Untuk melakukan ini,1/512
plot.path
gunakanwidth
bidang untuk mengalokasikan ruang horizontal yang tersisa secara proporsional ke dua turunan dari setiap node. Bidang ini awalnya dihitung denganpaths.compute
jumlah total daun (keturunan) di bawah setiap node. (Jika beberapa perhitungan seperti itu tidak dilakukan, dan pohon biner hanya dibagi dua di setiap node, maka dengan negara kesembilan hanya ada dari total lebar yang tersedia untuk setiap daun, yang jauh terlalu sempit. Siapa pun yang sudah mulai menggambar pohon biner di atas kertas segera mengalami masalah ini!)Posisi vertikal node disusun dalam deret geometris (dengan rasio umum
a
) sehingga jarak semakin dekat di bagian pohon yang lebih dalam. Ketebalan cabang dan ukuran simbol daun juga diskalakan dengan kedalaman. (Ini akan menyebabkan masalah dengan simbol lingkaran di daun, karena rasio aspek mereka akan berubaha
bervariasi. Saya belum repot-repot memperbaikinya.)sumber
partitions
paket yang mungkin menyediakan struktur untuk menyebutkan kemungkinan.