使用--make-grm-alg進(jìn)行設(shè)置,0位Yang的方法,1位Van的方法。
「Yang的方法:」
GRM = sum{[(xij- 2pi)*(xik- 2pi)] / [2pi(1-pi)]}/N
「Van的方法:」
GRM = sum[(xij- 2pi)(xik- 2pi)] / sum[2pi(1-pi)]
1 Yang的方法
gcta64 --bfile ../test --make-grm --make-grm-alg 0 --out kinship_yang
gcta64 --grm kinship_yang --pca 20 --out pca_re
結(jié)果生成:
pca_re.eigenval pca_re.eigenvec pca_re.log
2 Van的方法
這里,將0變?yōu)?.
gcta64 --bfile ../test --make-grm --make-grm-alg 1 --out kinship_yang
gcta64 --grm kinship_yang --pca 20 --out pca_re
結(jié)果生成:
pca_re.eigenval pca_re.eigenvec pca_re.log
PCA可視化
這里,先對(duì)數(shù)據(jù)進(jìn)行處理,計(jì)算每個(gè)主成分解釋百分比,以及前幾個(gè)PCA的累計(jì)百分比。
pcaal = fread("pca_re.eigenval")
head(pcaal)
pcaal$por = pcaal$V1/sum(pcaal$V1)
pcaal$cumula = cumsum(pcaal$por)
pcaal$index = as.factor(1:dim(pcaal)[1])
head(pcaal)

碎石圖(折線圖)
這里,選擇前10個(gè)主成分。
# 選擇最佳的PCA個(gè)數(shù):碎石折線圖
pcaal[1:10,] %>%
ggplot(aes(x=index,y=por, group=1))+
geom_point(size=4)+
geom_line()+
labs(title="Scree plot: PCA")

碎石圖(條形圖)
這里,選擇前10個(gè)主成分。
# 選擇最佳的PCA個(gè)數(shù):碎石條形圖
pcaal[1:10,] %>%
ggplot(aes(x=index,y=por))+
geom_col()+
labs(title="Scree plot: PCA on scaled data")

PCA可視化
「代碼:」
ggplot(pcaec,aes(x = V3,y = V4)) + geom_point() +
xlab(paste0("PC1 ",round(pcaal$por[1],4),"%")) +
ylab(paste0("PC2 ",round(pcaal$por[2],4),"%"))

PCA分析拓展
1,PCA分析,可以根據(jù)分組,繪制置信區(qū)間
分組PCA2,PCA分析中,可以將PCA的百分比和累計(jì)百分比繪制到一張圖上面。