用R语言计算多水平之间的相关性

如图所示,数据是乱写的,想要在R里编写一个程序,分别计算A1和B1、B2、B3到B12两两之间的相关性,再计算A2和B1、B2、B3到B12两两之间的相关性,然后是A3、... 如图所示,数据是乱写的,想要在R里编写一个程序,分别计算A1和B1、B2、B3到B12两两之间的相关性,再计算A2和B1、B2、B3到B12两两之间的相关性,然后是A3、A4和B1到B12两两之间的相关性,程序应该怎么编?本人是非计算机专业,对于编程只大概了解点皮毛,望高人指教。 展开
 我来答
david940408
推荐于2017-09-15 · TA获得超过5554个赞
知道大有可为答主
回答量:2964
采纳率:100%
帮助的人:1718万
展开全部

先把整个数据读进来,比如赋值给data。data第一列是A1,A2什么的。

A<-as.matrix(data[grep("A",data[,1]),-1])
B<-as.matrix(data[grep("B",data[,1]),-1])
correlation.matrix<-matrix(nrow=nrow(A),ncol=nrow(B))
for(i in 1:nrow(A))
    for(j in 1:nrow(B))
        correlation.matrix[i,j]<-cor(A[i,],B[j,])

结果就在correlation.matrix里了

更多追问追答
追问

遇到这种情况,要怎么办?

追答

不要这样啊,老大。。。。这样吧,你先把数据按照你图里的样子写到Excel里,保存成csv文件,记下完整路径(比如是D:\mydata\data.csv),打开R,输入这些:

data<-read.csv("D:/mydata/data.csv",header=FALSE)
#引号里的是路径,自己改,注意把\变成/

A<-as.matrix(data[grep("A",data[,1]),-1])
B<-as.matrix(data[grep("B",data[,1]),-1])
correlation.matrix<-matrix(nrow=nrow(A),ncol=nrow(B))
for(i in 1:nrow(A))
    for(j in 1:nrow(B))
        correlation.matrix[i,j]<-cor(A[i,],B[j,])
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式