我想使用数据创建相关矩阵,但基于显着边缘加权。
m <- matrix(data = rnorm(36), nrow = 6, ncol = 6)
x <- LETTERS[1:6]
for (a in 1:length(x)) y <- c(y, paste("c", a, sep = ""))
mCor <- cor(t(m))
w <- sample(x = seq(0.5, 0.8, by = 0.01), size = 36)
对象w
代表mCor
的权重。我知道其他包为输入数据提供相关性的包,其长度必须与向量x
和y
的长度相同。我想计算成对加权的Pearson相关表,使用所有列中每行的数据。
我只是想确保它是正确的,但我想通过将每个值乘以给定的权重,为每行cor
和A
使用加权B
。您通常需要三个长度相同的向量,两个用于数据,一个用于权重。
我正在使用data.table
软件包,欢迎快速解决方案。此外,不确定我是否应该传递一个表,其中两列用于连接,另一列用于权重。现有功能是保留顺序还是自动匹配?
weight <- data.table(x = rep(LETTERS[1:3], each = 12), y = rep(LETTERS[4:6], times = 3), w = w)