家系図を作成できる「kinship2」パッケージを紹介します。多くの機能が搭載されている本パッケージの中から「家系図」を作成する基本的なコマンドを紹介します。利用範囲は非常に広いと思います。集団の関係性を示すことが可能です。
パッケージのバージョンは1.8.5。実行コマンドはwindows 11のR version 4.1.2で確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール install.packages("kinship2")
実行コマンドの紹介
詳細はコメント、パッケージヘルプを確認してください。
#パッケージの読み込み library("kinship2") ######データ例の作成######## #性別:男性「1」,女性「2」 #塗り:1で塗りつぶし FData <- c(rep(125, 2), rep(0, 18), rep(117, 5), rep(119, 5), rep(0, 10), rep(205, 9), 211) MData <- c(rep(126, 2), rep(0, 18), rep(118, 5), rep(120, 5), rep(0, 10), rep(206, 9), 130) TestData <- data.frame("家系" = c(rep(1, 30), rep(2, 20)), id = c(101:130, 201:220), "父親" = FData, "母親" = MData, "性別" = rep(c(1, 2), 25), "塗りの指定" = c(rep(c(1, 0), 24), 1, 1), "プロットラベル" = paste0("Test",1:50)) ############################ #家系図データの作成 #塗りつぶしはaffectedオプションで指定 #relationオプション:matrixクラスで下記の順にデータが並んでいる必要があります #id1, id2, codeの順です #matrix(c(127, 123, 212, 121, 4, 1), ncol = 3, nrow = 2)を実行してみてください #code:1 = 一卵性双子, 2 = 二卵性双子, # 3 = 双子性質が不明?, 4 = 配偶者の関係を設定することが可能です PlotData <- pedigree(id = TestData[, 2], dadid = TestData[, 3], momid = TestData[, 4], sex = TestData[, 5], affected = TestData[, 6], relation = matrix(c(127, 123, 212, 121, 4, 1), ncol = 3, nrow = 2)) #家系図をプロット #ラベルはidで指定 #ラベルサイズはcexで指定 #シンボル色は性別で判断,男性が茶色,女性は青 #シンボル:四角;男性,丸;女性 plot(PlotData, col = ifelse(TestData[, 5] == 1, "#a87963", "#4b61ba"), id = TestData[, 7], cex = 0.6)
出力例
少しでも、あなたの解析が楽になりますように!!