诸位道友,在下邓飞,一介沉迷数据修仙的散修~
修仙之路,法器为先。R语言与plink宝刃,皆是咱们数据修仙界的常用本命法器——R仙府擅长推演可视化,plink宝刃专精基因型数据淬炼,二者相辅相成,缺一不可。
初入仙门时,需分别祭出两件法器,来回切换、繁琐至极;待修为渐深,无需再从头炼制咒语(写代码),只需稍作修改便能引动法器威力。既然如此,何不将两件法器归于一处,在R语言中直接召唤plink宝刃,省却跨界切换之苦?
今日便传诸位道友一法:如何在R仙府内,直接引动plink宝刃的全部威力!
先言简而言之,Linux仙域的道友得天独厚,只需将plink宝刃归入仙域bin秘境,便可在R语言中以system诀直接召唤,无需额外施法。
而Windows凡域的道友,需多做几步筑基准备,方能让两件法器相融。且听在下细细道来,步骤简单,筑基必成!
plink宝刃并非凡物,需从仙缘之地求取:
仙缘地址:https://www.cog-genomics.org/plink/
求取之后,解开封印(解压文件),进入宝刃藏身之处(文件夹),便可寻得plink.exe真身(plink.exe文件)

R仙府是咱们推演数据的核心道场,需从官方仙宗求取:
仙宗地址:https://cran.r-project.org/bin/windows/base/
按照仙宗指引,将R仙府安置于凡域(电脑)之中,切记记好仙府坐标(安装路径)。

R仙府默认的秘境坐标(默认安装路径)为:
C:\Program Files\R\R-4.5.2\bin\x64
将寻得的plink宝刃真身(plink.exe文件),直接移入此秘境之中,完成宝刃归位。

宝刃归位后,需为R仙府打通天地灵气通道,方能让plink宝刃随心召唤,步骤如下:
找到我的电脑,右键,属性:

找到系统信息,高级系统设置:

找到环境变量

找到Path,双击进入,点击新建,将R中的bin路径放进去:
C:\Program Files\R\R-4.5.2\bin\x64

点击确定即可。
灵气通道打通,宝刃归位,便可检验是否筑基成功:
打开Rstudio,新建一个R脚本:
# test plink
system("plink")
运行:

道友若以为这便结束了,那便是小觑了此功法的威力!真正的高阶操作,是在R语言中,借plink宝刃淬炼基因型灵根(数据清洗),再以R语言的推演之能,画出灵根分布图(PCA可视化),一套连招下来,修仙界的排面直接拉满!
假设有一对plink宝刃的配套灵材(map和ped文件),正静卧于凡域D盘“plink-test”秘境之中。

道友只需悄悄潜入此秘境,记好秘境坐标,再回到R仙府,念出全套咒语,便可引动plink宝刃淬炼灵根,同时完成PCA推演!

plink宝刃会自动剔除灵根残缺者(缺失10%的位点,本次共剔除567个),再将淬炼后的灵根数据,交由R语言推演,画出灵根分布仙图(PCA图),让每一份灵根的优劣都无所遁形!


不多废话,现将全套高阶咒语奉上,道友只需将咒语竹简放入灵材所在秘境,念动咒语,保准一幅高大上的灵根分布仙图即刻显现!
setwd("d:/plink-test/")
dir()
system("plink --file new_id --pca 3 --geno 0.1 --mind 0.1 --out pca")
library(ggplot2)
library(dplyr)
# ---------------------- 1. 读取 PCA 结果文件 ----------------------
# 读取 eigenvec 文件(PLINK 输出的主成分坐标)
pca_eigenvec <- read.table("pca.eigenvec", header = FALSE, stringsAsFactors = FALSE)
# 读取 eigenval 文件(特征值,用于计算方差解释率)
pca_eigenval <- scan("pca.eigenval")
# ---------------------- 2. 数据预处理 ----------------------
# 重命名列(PLINK 输出的 eigenvec 前两列是 FID 和 IID,后面是 PC1, PC2, ...)
colnames(pca_eigenvec) <- c("FID", "IID", paste0("PC", 1:(ncol(pca_eigenvec)-2)))
# 计算各主成分的方差解释率
pca_variance <- pca_eigenval / sum(pca_eigenval) * 100
# 保留两位小数,方便绘图标注
pca_variance <- round(pca_variance, 2)
# ---------------------- 3. 绘制 PCA 散点图(PC1 vs PC2) ----------------------
pca_plot <- ggplot(pca_eigenvec, aes(x = PC1, y = PC2)) +
# 散点样式(点大小、颜色、透明度,可根据需要调整)
geom_point(size = 2, color = "#2E86AB", alpha = 0.7) +
# 添加标题和坐标轴标签(标注方差解释率)
labs(
title = "PCA Plot (PC1 vs PC2)",
x = paste0("PC1 (", pca_variance[1], "% variance)"),
y = paste0("PC2 (", pca_variance[2], "% variance)"),
caption = "Data from PLINK PCA analysis"
) +
# 主题美化(专业期刊风格)
theme_bw() +
theme(
plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
axis.title.x = element_text(size = 12),
axis.title.y = element_text(size = 12),
panel.grid = element_blank() # 隐藏网格线
)
# 显示图形
print(pca_plot)
诸位道友,以上便是全套功法!
最近在下刚看完《凡人修仙传》与《道门法则》两部修仙典籍,满脑子都是灵根、法器、咒语,写这篇推文也难免带了些修仙后遗症,措辞略显中二,还望诸位道友海涵~
学会此功法,往后淬炼基因型灵根、推演数据,无需再跨界切换法器,效率倍增,修仙之路也能走得更顺!道友们赶紧去试试,有任何修炼难题,欢迎在评论区交流探讨~