用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两两之间的相关性,程序应该怎么编?本人是非计算机专业,对于编程只大概了解点皮毛,望高人指教。
展开
1个回答
展开全部
先把整个数据读进来,比如赋值给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,])
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询