2013-10-10 34 views
0

在一項調查中我問了兩個問題:與R(或相關)沖積圖

  1. 你的主要交通是什麼(只有1個可能的答案和強制性的答案)
  2. 什麼是你的二次搬運? (0或許多答案,每個次級傳輸包含0(是),1表示沒有)

這裏有一些假的數據:http://pastebin.com/raw.php?i=pp1EHP7r

PersonNumber,Main Transport,Bus(secondary transport),Metro(secondary transport),Tram (secondary transport) 
1,Bus,1,0,1 
2,Bus,1,0,1 
3,Bus,1,1,1 
4,Train,1,0,0 
5,Train,0,1,0 
6,Train,0,1,0 
7,Bus,0,0,0 
8,Bus,0,1,0 
9,Metro,0,1,0 

我的目標是創建兩個部件 左邊部分與主要的運輸。 與第二運輸的權利部分。 然後,如果右列中有一個值,那麼左運輸鏈接正確的一個。例如第一次觀察:巴士將連接到公共汽車(二級運輸)和電車(二級運輸),但不是地鐵(二級運輸)

我真的不知道該怎麼做,因爲一個主要運輸需要連接到多個欄目只有當值包含1 ...

我要找的那種圖形流http://app.raw.densitydesign.org/#/

+1

有些事情是這樣的嗎? http://gforge.se/2013/06/visualizing-transitions-with-the-transitionplot-function/ – Henrik

+1

另一個相關問題:http://stats.stackexchange.com/questions/12029/is-it-possible-to -create-parallel-sets-plot-using-r –

+0

@Henrik謝謝你,我會尋找的。 – S12000

回答

2

如果你想使用它的原始(http://app.raw.densitydesign.org/#/),你必須想象創建一個像這樣的數據集(從您的數據開始創建):

PersonNumber MainTransport SecondaryTransport 
1 Bus Bus 
1 Bus Tram 
2 Bus Bus 
2 Bus Tram 
3 Bus Bus 
3 Bus Tram 
3 Bus Metro 
4 Train Bus 
5 Train Metro 
6 Train Metro 
8 Bus Metro 
9 Metro Metro 

每條線代表主運輸和次運輸之間的連接。 如果一個人使用多於一個次要交通工具,則必須爲每對主要/次要交通工具創建一條線路(請參閱人員#3)。 請注意,由於每條線具有相同的視覺重量,因此通量的總高度代表每個變量出現的次數。

在Raw中將「MainTransport」和「SecondaryTransport」拖動爲「Dimensions」。

+0

我在想這個,但是我不明白你什麼時候說「請注意,因爲每條線都有相同的視覺重量,所以通量的總高度並不代表每個變量出現的次數。」這是否意味着我將擁有適合所有二級運輸的比例,但主要運輸的比例是錯誤的?事實上,就你的例子而言,就好像3號人使用2次公交車作爲主要交通工具一樣。如何避免這種情況? – S12000

+0

對不起,有一個拼寫錯誤的單詞,但你明白我的意思。每條線被計爲「1」,如果一個人使用三個不同的次要運輸工具,在左側將被計爲三個。 Raw允許您添加鏈接值,因此您可以設置索引以避免此問題。例如,可以將鏈接價值除以次要運輸的數量。此解決方案也有缺點,對於這類問題確實很難找到令人滿意的視覺解決方案。 – Michele

+0

我很好地成功了,但我有一個問題:是否可以添加一些顏色到沖積圖? – S12000

0

如果要添加顏色,你需要通過交換顏色變量修改alluvial.js圖:

顏色= d3.scale.category20();

然後它就像一個魅力!

Rob

+0

非常感謝 – S12000