【发布时间】:2017-05-11 13:53:21
【问题描述】:
我想编写一个代码来应用计算数据集中列组合之间的 Spearman 等级相关性的功能。我有以下数据集:
library(openxlsx)
data <-read.xlsx("e:/LINGUISTICS/mydata.xlsx", 1);
A B C D
go see get eat
see get eat go
get go go get
eat eat see see
函数 cor(rank(x), rank(y), method = "spearman") 仅测量两列之间的相关性,例如A 和 B 之间:
cor(rank(data$A), rank(data$B), method = "spearman")
但我需要计算所有可能的列组合(AB、AC、AD、BC、BD、CD)之间的相关性。我为此编写了以下函数:
wert <- function(x, y) { cor(rank(x), rank(y), method = "spearman") }
我不知道如何在我的函数中实现所有可能的列组合(AB、AC、AD、BC、BD、CD)以便自动获得所有结果,因为我的真实数据有更多的列,而且作为具有相关分数的矩阵,例如如下表:
A B C D
A 1 0.3 0.4 0.8
B 0.3 1 0.6 0.5
C 0.4 0.6 1 0.1
D 0.8 0.5 0.1 1
有人可以帮帮我吗?
【问题讨论】:
标签: r function correlation rank