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 是穆斯林,等等。其他一些数据是关于它们所包含的国家符号的国旗中是否存在不同的颜色, 等等。

数据的描述可以在这里找到。我已经删除了字符串数据列,所以它与显示的信息不完全一样。

我的问题是,我想使用协方差矩阵和皮尔逊相关性来查看,例如,旗帜中带有红色的事实是否可以说明该国的宗教是否有更大的机会成为某种东西比别的东西。但是由于列举了宗教,我对如何解决这个问题有点迷茫。

4

1 回答 1

1

您的问题是,尽管您的数据是有序的,但这个顺序是任意的。“穆斯林”(枚举 val=1)到“印度教”(枚举 val=3)之间的“距离”不是 2。

解决此问题的最直接方法是将枚举值转换为二进制指示符向量:

假设你有

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

您将 enum val 的单个条目替换为长度NumOfRel为零的二进制向量,除了1适当位置的单个条目:

对于新教条目,您将拥有以下二进制向量:

[ 0 1 0 0 ... ]

对于犹太人:

[ 0 0 0 1 0 ... ]

等等...

这样,不同宗教之间的“距离”总是1。

于 2013-01-13T15:42:37.100 回答