【发布时间】:2017-05-12 03:54:59
【问题描述】:
我编写了一个简单的相关函数,它包含三个变量。 “A”和“B”是等长的数值向量,“n”是长度。
Corr.fxn <- function(A, B, n){
Correlation <- (sum((A - mean(A))*(B - mean(B))) / (n-1)) / (sd(A)*sd(B))
return(Correlation)
}
该函数运行良好,但我有很多向量要处理。修改此代码以处理我的向量集“N”的所有“N take 2”唯一分析的最佳方法是什么?
编辑:
显示向量结构的示例数据:
A <- c(-1, 0, 1, -1, 0, 1, -1, 0, 1)
B <- c(1, 1, -1, 0, 1, -1, 0, 0, 1)
...
n <- length(A)
假设我有向量 A 到 Z,我想修改我的代码以输出一个包含所有 {26 take 2} 相关值的新向量。
【问题讨论】:
-
向量是如何组织的?制作一些示例输入数据并发布将很有用。
-
apply(combn(N, 2), 2, Corr.fxn)?如果N是一个列表,则改为对其进行索引。 -
"N take 2" 让我想起了
combn。如果您执行combn(N, 2, simplify = FALSE)之类的操作,您将获得一个列表,其中每个元素都是您的两个N向量的列表。以combn(list(1:2, 3:4, 5:6), 2, simplify = FALSE)为例。 (你打败了我,阿利斯泰尔……)
标签: r