首页 > 编程知识 正文

vba 矩阵计算公式,vba查找矩阵中对应的数

时间:2023-05-06 21:26:12 阅读:266154 作者:2027

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系数或余弦方法生成的相关性矩阵存在差异,建议在深入了解具体原理后,根据分析需求酌情选择相适应的计算方法。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。