gpt4 book ai didi

r - 计算 R 中来自不同数据帧的两列之间的相关性

转载 作者:行者123 更新时间:2023-12-01 19:33:51 26 4
gpt4 key购买 nike

我想计算两个不同数据帧中两列的相关性。

例如:

数据框1:

identifier  description Score
qzqzgz desc1 0.12
zzqzgq desc2 8.98
zzqzgg desc3 0.55
zzqzgc desc4 3.66
zzqzgz desc5 1.22
qqzgzz desc6 -30.23
zqzgzq desc6 7.88
zqzgzg desc6 6.45
zqzgzc desc6 2.33
zqzgzz desc6 1.02

数据框2:

    identifier  description S1  S2  S3  S4  S5     S6
qzqzgz desc1 9 3 4 6 7 4
zzqzgq desc2 5 3 6 2 3 6
zzqzgg desc3 9 9 12 12 14 13
zzqzgc desc4 6 4 8 6 6 6
zzqzgz desc5 10 5 5 5 5 11
qqzgzz desc6 11 12 17 12 11 17
zqzgzq desc6 8 2 1 4 4 3
zqzgzg desc6 2 4 9 9 5 10
zqzgzc desc6 7 5 8 5 7 3
zqzgzz desc6 11 5 7 9 9 12

我想计算以下之间的相关性:数据帧 1 的第三列(分数)和数据帧 2 的第三列(S1)。数据帧 1 的第三列(分数)和数据帧 2 的第三列(S2)。数据帧 1 的第三列(分数)和数据帧 2 的第三列(S3)。数据帧 1 的第三列(分数)和数据帧 2 的第三列(S4)。等等。

这是我到目前为止所写的内容:

    for (i in 3:8)
{
cortop[i] <- cor(dataframe1$Score_top,dataframe2$i)
}

我是 R 的新手。请帮助为此编写一个循环。

最佳答案

这里不需要循环:

cor(dataframe1$Score, dataframe2[-c(1:2)])

# S1 S2 S3 S4 S5 S6
# [1,] -0.555369 -0.8556331 -0.7682521 -0.629983 -0.57097 -0.6790326

顺便说一句:您的代码不起作用,因为您不能将 $ 与变量一起使用。因此,您必须将 dataframe2$i 替换为 dataframe2[[i]] 才能访问第 i 列。

<小时/>

更新:

由于dataframe2中的值是因子,因此在使用cor之前必须将它们转换为数值:

cor(dataframe1$Score, "storage.mode<-"(as.matrix(dataframe2[-c(1:2)]), "numeric"))

关于r - 计算 R 中来自不同数据帧的两列之间的相关性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24201222/

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