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("&#23478;&#31995;" = c(rep(1, 30), rep(2, 20)),
                       id = c(101:130, 201:220),
                       "&#29238;&#35242;" = FData, "&#27597;&#35242;" = MData,
                       "&#24615;&#21029;" = rep(c(1, 2), 25),
                       "&#22615;&#12426;&#12398;&#25351;&#23450;" = c(rep(c(1, 0), 24), 1, 1),
                       "&#12503;&#12525;&#12483;&#12488;&#12521;&#12505;&#12523;" = paste0("Test",1:50))
############################

#&#23478;&#31995;&#22259;&#12487;&#12540;&#12479;&#12398;&#20316;&#25104;
#&#22615;&#12426;&#12388;&#12406;&#12375;&#12399;affected&#12458;&#12503;&#12471;&#12519;&#12531;&#12391;&#25351;&#23450;
#relation&#12458;&#12503;&#12471;&#12519;&#12531;:matrix&#12463;&#12521;&#12473;&#12391;&#19979;&#35352;&#12398;&#38918;&#12395;&#12487;&#12540;&#12479;&#12364;&#20006;&#12435;&#12391;&#12356;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;
#id1, id2, code&#12398;&#38918;&#12391;&#12377;
#matrix(c(127, 123, 212, 121, 4, 1), ncol = 3, nrow = 2)&#12434;&#23455;&#34892;&#12375;&#12390;&#12415;&#12390;&#12367;&#12384;&#12373;&#12356;
#code:1 = &#19968;&#21365;&#24615;&#21452;&#23376;, 2 = &#20108;&#21365;&#24615;&#21452;&#23376;,
#     3 = &#21452;&#23376;&#24615;&#36074;&#12364;&#19981;&#26126;?, 4 = &#37197;&#20598;&#32773;&#12398;&#38306;&#20418;&#12434;&#35373;&#23450;&#12377;&#12427;&#12371;&#12392;&#12364;&#21487;&#33021;&#12391;&#12377;
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))

#&#23478;&#31995;&#22259;&#12434;&#12503;&#12525;&#12483;&#12488;
#&#12521;&#12505;&#12523;&#12399;id&#12391;&#25351;&#23450;
#&#12521;&#12505;&#12523;&#12469;&#12452;&#12474;&#12399;cex&#12391;&#25351;&#23450;
#&#12471;&#12531;&#12508;&#12523;&#33394;&#12399;&#24615;&#21029;&#12391;&#21028;&#26029;,&#30007;&#24615;&#12364;&#33590;&#33394;,&#22899;&#24615;&#12399;&#38738;
#&#12471;&#12531;&#12508;&#12523;:&#22235;&#35282;;&#30007;&#24615;,&#20024;;&#22899;&#24615;
plot(PlotData, col = ifelse(TestData[, 5] == 1, "#a87963", "#4b61ba"),
     id = TestData[, 7], cex = 0.6)

出力例

kinship

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

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