Rで解析:家系図の作成もお任せ!利用範囲は広い「kinship2」パッケージの紹介

Rの解析に役に立つ記事

家系図を作成できる「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)

出力例

kinship

少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました