gpt4 book ai didi

r - 两个矩阵的所有行的所有组合的相关/p值

转载 作者:行者123 更新时间:2023-12-04 05:59:51 25 4
gpt4 key购买 nike

我想计算每个物种 (bac) 与第二个数据帧中每个因子 (fac) 的相关性和 p 值。两者都是在相同数量的站点上测量的,但 bac 和 fac 的数量不匹配。

bac1 <- c(1,2,3,4,5)
bac2 <- c(2,3,4,5,1)
bac3 <- c(4,5,1,2,3)
bac4 <- c(5,1,2,3,4)
bac <- as.data.frame(cbind(bac1, bac2, bac3, bac4 ))
colnames(bac) <- c("station1", "station2", "station3", "station4")
rownames(bac) <- c("bac1", "bac2", "bac3", "bac4", "bac5")

fac1 <- c(1,2,3,4,5,6)
fac2 <- c(2,3,4,5,1,6)
fac3<- c(3,4,5,1,2,6)
fac4<- c(4,5,1,2,3, 6)
fac <- as.data.frame(cbind(fac1, fac2, fac3, fac4))
colnames(fac) <- c("station1", "station2", "station3", "station4")
rownames(fac) <- c("fac1", "fac2", "fac3", "fac4", "fac5", "fac6")

我想象结果看起来有点像这样,在某个地方保留名称以知道呈现的是哪种组合:

bac1-fac1 cor1 p1
bac1-fac2 cor2 p2
bac1-fac3 cor3 p3

bac2-fac1 corx px...

我查看了来自 Hmist 的函数 rcorr 和来自 psych 的 corr.test,但找不到具有必要行排列的示例...有什么想法吗?

最佳答案

如果您重组数据,以便计算成对列之间的相关性,这将非常容易。

tbac <- data.frame(t(bac))
tfac <- data.frame(t(fac))

f <- function (x, y) cor(x, y)

tab <- outer(tfac, tbac, Vectorize(f))

as.data.frame.table(tab)

我有一个使用相同想法的答案:Match data and count number of same value .

关于r - 两个矩阵的所有行的所有组合的相关/p值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41793219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com