1

これは、私の問題を説明する 3 回目の試みです。今回は正しく理解できるといいのですが、説明が難しい問題です。

90 行のそれぞれが特定の波長での一連の 19 の測定値である90x19 マトリックスがあります。90 の波長は 400 から 700 になります。次に、長さ19x1 の vectorがあります。

各セルが波長の各組み合わせの合計 (マトリックスの 19 個の値すべて) と 19x1 ベクトルの間のピアソン相関係数を示すマトリックスを作成したいと考えています。

この表面をプロットすると、このようになります

ここに画像の説明を入力

さらに詳しい情報やより良い説明が必要な場合はお知らせください。ここで本当に助けが必要です!:)

ベスト

ベクトルは次のとおりです。

v<-c(116, 100, 148, 132, 81, 136, 145, 116, 87, 126, 62, 124, 129, 
108, 127, 134, 142, 99, 132)

また、データ フレーム ヘッダーは次のとおりです。

data<-structure(list(`1` = c(2, 2, 2, 2), `2` = c(1, 1, 1, 1), `3` = c(2, 
2, 2, 2), `4` = c(2, 2, 2, 3), `5` = c(13, 14, 14, 15), `6` = c(2, 
2, 2, 2), `7` = c(2, 2, 2, 2), `8` = c(0, 0, 0, 0), `9` = c(5, 
5, 5, 5), `10` = c(0, 0, 0, 0), `11` = c(114, 119, 122, 125), 
    `12` = c(8, 8, 8, 8), `13` = c(7, 7, 7, 8), `14` = c(10, 
    10, 10, 10), `15` = c(12, 12, 12, 12), `16` = c(6, 6, 6, 
    6), `17` = c(4, 4, 4, 4), `18` = c(17, 18, 18, 19), `19` = c(13, 
    14, 14, 14)), .Names = c("1", "2", "3", "4", "5", "6", "7", 
"8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", 
"19"), row.names = c("402.37700182806", "405.70862540288", "409.04076825642", 
"412.37342090064"), class = "data.frame")
4

1 に答える 1

1

データを (相関なしで) シミュレートしましたが、これが必要かどうかを確認してください。

nr=90
data<-data.frame(matrix(runif(nr*19,2,15),nrow=nr,ncol=19))
row.names(data)<-round(seq(400,700, length.out = nrow(data)),4)

cm=matrix(NA,nrow(data),nrow(data))
for (i in 1:nrow(data))
  for(j in i:nrow(data))cm[j,i]<- cor(apply(data[c(j,i),],2,sum),v)

colnames(cm)<-row.names(cm)<-round(as.numeric(row.names(data)),0)

#Build the plot    
library(lattice)
library(reshape)

cmd<-cbind(var=as.numeric(row.names(data)),data.frame(cm))
cmd<-cbind(melt(cmd, id=c("var")),var2=rep(as.numeric(row.names(data)),each=nrow(data)))

levelplot(value~var*var2,data=cmd,  
          col.regions=colorRampPalette(c("blue","green", "red")),
          at=seq(-1,1,0.1),
          xlab="x", ylab="x", main="")

ここに画像の説明を入力

于 2016-05-31T01:58:54.970 に答える