0

私はすべてのペアワイズ相関を持っており、その行列に対して標準的な分析を行うために、分散共分散行列を構築したいと考えています。共分散のサンプル データを次に示します。最初の 2 列は「ID」で、3 列目は「ID」間の共分散を示しています。

data<-data.frame("id1" = c("a","b","c","a","a","b"),
                 "id2" = c("a","b","c","b","c","c"),
                 "cov"=c(1,1,1,0.1,0.3,0.4))
4

2 に答える 2

1

Base-R ソリューション:

nm <- unique(data$id1)   ## row/col names
v <- matrix(NA,length(nm),length(nm),dimnames=list(nm,nm))  ## set up template
v[cbind(data$id1,data$id2)] <- data$cov  ## fill in upper triangle
v[is.na(v)] <- t(v)[is.na(v)]            ## symmetrize
于 2020-05-11T22:38:00.327 に答える