共词矩阵转化为相异矩阵

1. 公式与代码 Ochiia系数公式: (原理不再赘述,有兴趣可自行搜索学习) 代码如下,后附参考案例一个。 (v值为变量个数,例如9×9的共现矩阵,则v=9;m×m的共现矩阵,则v=m) Sub ochiia()

1. 公式与代码

  • Ochiia系数公式:

(原理不再赘述,有兴趣可自行搜索学习)

  • 代码如下,后附参考案例一个。

(v值为变量个数,例如9×9的共现矩阵,则v=9;m×m的共现矩阵,则v=m)

Sub ochiia()
    '变量个数
    v = 9
    '输出的起始行列号
    rOutput = v + 2
    cOutput = 1
  
    For i = 2 To v
        For j = i To v
            Cells(rOutput + i, cOutput + j) = Cells(i, j + 1) / (Sqr(Cells(i, i)) * Sqr(Cells(j + 1, j + 1)))
        Next
    Next
    
    For i = 1 To v
        Cells(rOutput + i + 1, cOutput + i) = 1
    Next
    
    '给另一边赋值
    'Str(rOutput + j) & "," & (cOutput + i)
    rOutput = rOutput + 2
    cOutput = 2
    For i = 1 To v - 1
        For j = 0 To i - 1
            Cells(rOutput + i, cOutput + j) = Cells(rOutput + j, cOutput + i)
        Next
    Next
    
End Sub

2. 参考案例

  • 原始数据如下图共现矩阵所示:

(可使用BICOMB2生成共现矩阵,参见:https://download.csdn.net/download/u010785550/12628654)

  • 首先将文档另存为.xlsm格式,默认启用宏功能,避免后续麻烦。

  • 新文档中使用快捷键ALT+F11打开代码窗口,将上方VBA代码拷贝放入

(上图共现矩阵含15个变量,因此将v值改为15)

  • 快捷键F5运行代码,会再共现矩阵下方输出生成的相关系数矩阵。

  • 将矩阵剪切到另一表格并补全变量名即可完成相关系数矩阵的制作。

3. 参考文献

VBA代码来源:http://blog.sina.com.cn/s/blog_67532f7c0102v60z.html

使用SPSS生成相关系数矩阵:https://blog.csdn.net/shazao/article/details/50615600

注:使用Ochiia系数生成的相关系数矩阵,其数据值与SPSS(分析-相关-距离)中使用Person系数或余弦方法生成的相关性矩阵存在差异,建议在深入了解具体原理后,根据分析需求酌情选择相适应的计算方法。

知秋君
上一篇 2024-07-30 08:36
下一篇 2024-07-30 08:02

相关推荐