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


家系図を作成できる「kinship2」パッケージを紹介します。多くの機能が搭載されている本パッケージの中から「家系図」を作成する基本的なコマンドを紹介します。利用範囲は非常に広いと思います。集団の関係性を示すことが可能です。

紹介するコマンドと出力図、パッケージヘルプを確認いただくことで歴史の考証だけでなく、生物学など発展的な利用が可能かと思います。いつか、アニメの紹介にも利用できればと思います。

パッケージのバージョンは1.6.4。R version 3.2.1でコマンドを確認しています。


パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("kinship2")

実行コマンドの紹介

詳細はコメント、パッケージヘルプを確認してください。紹介しませんが、ラベルには日本語の使用が可能です。Macの日本語文字化け防止は過去記事を参考にしてください。

#パッケージの読み込み
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)) #データを作業フォルダにエクセルで出力 #パッケージの使い方は下記URLを参照 #https://www.karada-good.net/analyticsr/r-138/ library("WriteXLS") WriteXLS("TestData", "TestData.xlsx") ############################ #家系図データの作成 #塗りつぶしは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) [/code]


出力例

画像をクリックしていただけると拡大表示されます。

kinship


少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

関連コンテンツ


スポンサードリンク