⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 correlation.bas

📁 本程序用来计算单相关系数
💻 BAS
字号:
Attribute VB_Name = "Correlation"
' **************************************************
' *   计算单相关系数
' **************************************************

Function Correlation(n As Integer, n1 As Integer, X() As Single, Y() As Single) As Single
    
    Dim i As Integer
    Dim X0 As Single, Y0 As Single, XY As Single, XX As Single, YY As Single
    Dim Sx As Single, Sy As Single, Sxy As Single
    Dim c As Single
    
    On Error GoTo Warning
    
    X0 = 0: Y0 = 0
    XX = 0: YY = 0: XY = 0
    n1 = n
    
    '计算除去-999的值的样本数
    For i = 1 To n
        If Y(i) = -999 Then n1 = n1 - 1
    Next i
    
    For i = 1 To n
        
        '剔除-999的值
        If Y(i) <> -999 Then
            X0 = X0 + X(i): Y0 = Y0 + Y(i)
            XY = XY + X(i) * Y(i)
            XX = XX + X(i) * X(i)
            YY = YY + Y(i) * Y(i)
            Sx = XX - X0 * X0 / n1
            Sy = YY - Y0 * Y0 / n1
            Sxy = XY - X0 * Y0 / n1
        End If
    Next i
    c = Sx * Sy
    If c <= 0 Then
        R = 0
    Else
        R = Sxy / Sqr(c)
    End If
    
    Correlation = R
    Exit Function
    
Warning:
    MsgBox Err.Description, vbCritical
    Correlation = 2
    
End Function

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -