R中cor.test在julia中如何使用

R中检验两个向量相关性的函数有cor.test(),能同时返回r和pvalue, 那么julia中的类似函数在哪里呢?我只看到了一个cor()函数,但是没法计p值。
另外,R中有一个做zscore计算的scale命令,请问在julia中是什么呢?

这个居然没人实现,有时间写个实现好了,当复习非参数统计了。

1 个赞
using Distributions
using Statistics

function interval(r::Float64, n::Int64)
    z = 0.5 * log(exp(1), (1 + r) / (1 - r))
    s = 1 / (sqrt(n - 3))
    zl = z - 1.96 * s
    zh = z + 1.96 * s
    low = (exp(2 * zl) - 1) / (exp(2 * zl) + 1)
    high = (exp(2 * zh) - 1) / (exp(2 * zh) + 1)
    (low, high)
end

function cor_test(x::AbstractVector, y::AbstractVector)
    if length(x) == length(y)
        r = cor(x, y)
        n = length(x)
        df = n - 2
        t = r * sqrt((df) / (1 - r^2))
        tdist = cdf(TDist(df), t)
        if r > 0
            pvalue = (1 - tdist) * 2
        else
            pvalue = (tdist) * 2  
        end
    else
        println("请输入等长的两个向量")
    end
    fin = (r = r, pvalue = pvalue, df = df, t = t, cfi = interval(r, n))
end

我自己写了一个计算皮尔森相关的函数