【问题标题】:R data correlation, permutation of all variables without duplicatesR数据相关性,所有变量的排列没有重复
【发布时间】:2014-10-18 12:33:58
【问题描述】:

我想通过排列关联 R 中给定的 data.frame 中的每个变量。这个例子的集合很简单,它有 4 个变量:

X<-data.frame("A"=rnorm(1e3),"B"=rnorm(1e3),"C"=rcauchy(1e3),"D"=rcauchy(1e3))

所以我想要返回的是一个 data.frame ,其中包含每个彼此之间的相关性。结果可能是包含这些列的 data.frame:

A.B, A.C, ... B.C, B.D, ...

不应该有重复,所以 A.A 或 B.D 和 D.B 之类的东西(重复)是不允许的。

apply 函数是用来做这个的吗?这如何以 R 典型的便捷风格完成?

谢谢

【问题讨论】:

    标签: r math statistics permutation


    【解决方案1】:

    这是一种方法:

    X<-data.frame("A"=rnorm(1e3),"B"=rnorm(1e3),"C"=rcauchy(1e3),"D"=rcauchy(1e3))
    m <- cor(X)
    m[lower.tri(m, diag = TRUE)] <- NA
    library(reshape2)
    (df <- na.omit(melt(m)))
    #    Var1 Var2       value
    # 5     A    B  0.05247314
    # 9     A    C -0.04440715
    # 10    B    C  0.01905053
    # 13    A    D  0.01920278
    # 14    B    D -0.02102680
    # 15    C    D  0.02793279
    
    transform(df, Var = paste(Var1, Var2, sep = "."), Var1 = NULL, Var2 = NULL)
    #          value Var
    # 5   0.05247314 A.B
    # 9  -0.04440715 A.C
    # 10  0.01905053 B.C
    # 13  0.01920278 A.D
    # 14 -0.02102680 B.D
    # 15  0.02793279 C.D
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-25
      • 2014-04-12
      • 2014-03-11
      相关资源
      最近更新 更多