2013-01-13 68 views
1

我有一個包含關於國家的信息以下數據集在枚舉查找相關類型的數據

5,1,648,16,10,2,0,3,5,1,1,0,1,1,1,0,0,0,0,0,1,0,0,1,0,0, 
3,1,29,3,6,6,0,0,3,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0, 
4,1,2388,20,8,2,2,0,3,1,1,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0, 
... 

每行中的第六列表示國家的主要宗教:0是至公,1是其他基督教,2是穆斯林等。其他一些數據是關於如果它們所包含的國家符號的旗幟中存在不同的顏色等等。

數據的描述可以找到here。我已經刪除了字符串數據列,但它不符合所顯示的信息。

我的問題是,我想使用協方差矩陣和Pearson相關性來查看,例如,如果一個國旗的顏色爲紅色,這個事實將會告訴我們該國的宗教信仰是否更大成爲別人的可能性。但是由於這個宗教已經列舉出來,所以我在如何解決這個問題上有點失落。

+0

首先想到的是得到宗教信號相對於旗幟顏色的直方圖計數(反之亦然),然後分析它們以找到任何相關。另外,標誌的顏色是否存儲在固定列中?否則,很難說這些數字說什麼。 –

+0

是的每列都有特定的內容,例如每行的第10列表示標誌中是否有紅色。 – Drakthal

回答

1

你的問題是,儘管你的數據是有序的,但這個順序是任意的。 「穆斯林」(enum val = 1)到「hindu」(enum val = 3)之間的「距離」不是2.

解決此問題最直接的方法是將枚舉值轉換爲二元指示符載體:

假設你有

enum { 
    Catholic = 0 
    Protestant, 
    Muslim, 
    Jewish, 
    Hindu, 
    ... 
    NumOfRel }; 

你在適當的地方到處替換長度NumOfRel與零點二元矢量進入枚舉val的除了一個單1

對於新教項,您將有以下這些二進制矢量:

[ 0 1 0 0 ... ] 

對於一個猶太:

[ 0 0 0 1 0 ... ] 

等等......

這樣一來,「距離「不同宗教之間始終是1.

+0

葉謝謝多數民衆贊成我害怕,最終這樣做,謝謝你的答案。 – Drakthal