Rで解析:PubMedでの情報収集がかなり簡単です「easyPubMed」パッケージ

Rの解析に役に立つ記事
スポンサーリンク

NCBIデータベースをRから操作するパッケージはいくつか存在しますが、本パッケージはPubMedデータベースから情報を収集するのに特化したパッケージです。かなり簡単に情報を収集することが出来ます。

実行コマンドでは検索クエリに”r statistical software”を指定し、取得したデータをGoogleスプレッドシートへアップロードと「xlsx」ファイルで保存する例を紹介します。

パッケージバージョンは2.13。実行コマンドはR version 4.2.2で確認しています。

スポンサーリンク

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

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

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

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("easyPubMed")

#検索クエリを指定
#pubmedの検索タグが使用可能です
#参考:https://ja.wikipedia.org/wiki/MEDLINE
SetQuery <- "r statistical software"

#PubmedId&#12434;&#21462;&#24471;:get_pubmed_ids&#12467;&#12510;&#12531;&#12489;
PubMedID <- get_pubmed_ids(pubmed_query_string = SetQuery)

#PubmedId&#12434;&#20803;&#12395;&#12487;&#12540;&#12479;&#12434;&#26368;&#22823;5,000&#12414;&#12391;&#21462;&#24471;:fetch_pubmed_data&#12467;&#12510;&#12531;&#12489;
#&#21462;&#24471;&#38283;&#22987;&#12398;&#30058;&#21495;:retstart&#12467;&#12510;&#12531;&#12489;
#&#21462;&#24471;&#32066;&#20102;&#12398;&#30058;&#21495;:retmax&#12467;&#12510;&#12531;&#12489;
#&#26368;&#26032;10&#12398;&#35542;&#25991;&#12487;&#12540;&#12479;&#12434;&#21462;&#24471;
#&#32080;&#26524;&#12399;XML&#12391;&#21462;&#24471;
GetResult <- fetch_pubmed_data(pubmed_id_list = PubMedID,
                               retstart = 0, retmax = 10,
                               format = "xml", encoding = "UTF-8")

#fetch_pubmed_data&#12467;&#12510;&#12531;&#12489;&#12391;&#21462;&#24471;&#12375;&#12383;&#32080;&#26524;&#12434;dataframe&#12395;&#12377;&#12427;:table_articles_byAuth&#12467;&#12510;&#12531;&#12489;
#&#33879;&#32773;&#12398;&#21462;&#24471;:included_authors&#12458;&#12503;&#12471;&#12519;&#12531;;"first","last","all"
#&#21462;&#24471;&#12377;&#12427;&#12450;&#12502;&#12473;&#12488;&#12521;&#12463;&#12488;&#12398;&#25991;&#23383;&#25968;:max_chars&#12458;&#12503;&#12471;&#12519;&#12531;;-1&#12391;&#20840;&#12390;
#&#27424;&#25613;&#20516;&#12398;&#20966;&#29702;:autofill&#12458;&#12503;&#12471;&#12519;&#12531;;TRUE/FALSE
#&#12487;&#12540;&#12479;&#12434;&#20316;&#26989;&#12501;&#12457;&#12523;&#12480;&#12395;&#20986;&#21147;:dest_file&#12458;&#12503;&#12471;&#12519;&#12531;;NULL&#12391;&#20986;&#21147;&#28961;&#12375;
##&#20986;&#21147;&#12377;&#12427;&#22580;&#21512;&#12399;&#12300;&#12501;&#12449;&#12452;&#12523;&#21517;.txt&#12301;&#12434;&#25351;&#23450;
#&#12461;&#12540;&#12527;&#12540;&#12489;&#12398;&#20986;&#21147;:getKeywords&#12458;&#12503;&#12471;&#12519;&#12531;;TRUE/FALSE
#&#12456;&#12531;&#12467;&#12540;&#12489;&#12398;&#25351;&#23450;:encoding&#12458;&#12503;&#12471;&#12519;&#12531;
ResultFrame <- table_articles_byAuth(pubmed_data = GetResult,
                                     included_authors = "last",
                                     max_chars = -1,
                                     dest_file = NULL,
                                     encoding = "UTF-8")

###&#21442;&#32771;:Google&#12473;&#12503;&#12524;&#12483;&#12489;&#12471;&#12540;&#12488;&#12408;&#12450;&#12483;&#12503;&#12525;&#12540;&#12489;#####
#googlesheets4&#12497;&#12483;&#12465;&#12540;&#12472;&#12399;&#19979;&#35352;URL&#12398;&#35352;&#20107;&#12434;&#21442;&#32771;&#12395;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;
#https://www.karada-good.net/analyticsr/r-744/
#googlesheets4&#12497;&#12483;&#12465;&#12540;&#12472;&#12364;&#12394;&#12369;&#12428;&#12400;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;
if(!require("googlesheets4", quietly = TRUE)){
  install.packages("googlesheets4");require("googlesheets4")
}

#Google&#12450;&#12459;&#12454;&#12531;&#12488;&#12395;&#25509;&#32154;:gs4_auth&#12467;&#12510;&#12531;&#12489;
#&#26082;&#12395;&#25509;&#32154;&#28168;&#12415;&#12391;&#12354;&#12428;&#12400;&#12450;&#12459;&#12454;&#12531;&#12488;&#36984;&#25246;&#12398;&#12513;&#12483;&#12475;&#12540;&#12472;&#12364;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;
gs4_auth()

#&#12487;&#12540;&#12479;&#12434;&#12450;&#12483;&#12503;&#12525;&#12540;&#12489;
#&#26032;&#35215;Google&#12473;&#12503;&#12524;&#12483;&#12489;&#12471;&#12540;&#12488;&#12434;&#20316;&#25104;:gs4_create&#12467;&#12510;&#12531;&#12489;
gs4_create(name = "PubMedData",
           sheets = list("PubMedData" = ResultFrame))
########


###&#21442;&#32771;:&#20316;&#26989;&#12501;&#12457;&#12523;&#12480;&#12395;xlsx&#12391;&#20445;&#23384;#####
#openxlsx&#12497;&#12483;&#12465;&#12540;&#12472;&#12399;&#19979;&#35352;URL&#12398;&#35352;&#20107;&#12434;&#21442;&#32771;&#12395;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;
#https://www.karada-good.net/analyticsr/r-535/
if(!require("openxlsx", quietly = TRUE)){
  install.packages("openxlsx");require("openxlsx")
}

#Workbook object&#12398;&#20316;&#25104;:createWorkbook&#12467;&#12510;&#12531;&#12489;
PubmedWb <- createWorkbook(creator = "PubMed",
                           title = "PubMed",
                           subject = "PubMed",
                           category = "PubMed")

#&#12527;&#12540;&#12463;&#12471;&#12540;&#12488;&#12398;&#36861;&#21152;:addWorksheet&#12467;&#12510;&#12531;&#12489;
addWorksheet(wb = PubmedWb,
             sheetName = "PubMed",
             tabColour = "blue",
             zoom = 80)

#&#12471;&#12540;&#12488;&#12395;&#12487;&#12540;&#12479;&#12434;&#26360;&#12365;&#36796;&#12416;:writeData&#12467;&#12510;&#12531;&#12489;
writeData(wb = PubmedWb,
          sheet = 1, x = ResultFrame,
          startRow = 3, startCol = 2,
          borderColour = "blue")

#abstract&#12395;&#21547;&#12414;&#12428;&#12427;&#29305;&#23450;&#12461;&#12540;&#12527;&#12540;&#12489;&#12391;&#22615;&#12426;&#12388;&#12406;&#12377;
#&#12475;&#12523;&#12398;&#12473;&#12479;&#12452;&#12523;
CellStyle <- createStyle(bgFill = "red")
#&#31684;&#22258;&#25351;&#23450;
conditionalFormatting(wb = PubmedWb, sheet = 1,
                      style = CellStyle,
                      cols = 5, rows = 3:nrow(ResultFrame),
                      type = "contains",
                      rule = "tumor-bearing mice")

#&#20316;&#26989;&#12501;&#12457;&#12523;&#12480;&#12395;xlsx&#12501;&#12449;&#12452;&#12523;&#12434;&#20445;&#23384;:saveWorkbook&#12467;&#12510;&#12531;&#12489;
saveWorkbook(wb = PubmedWb,
             file = "Pubmed.xlsx",
             overwrite = TRUE)
########

出力例

・参考:Googleスプレッドシートへアップロード

・参考:作業フォルダにxlsxで保存


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

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