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


投稿日: Rの解析に役に立つ記事 ,

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

操作が非常に簡単なので、すぐに使いこなすことができると思います。取得データはxmlファイルなので「XML」パッケージを利用し抽出・加工が可能です。

実行コマンドでは検索クエリに"r statistical software"を指定し、取得したデータをGoogleスプレッドシートへアップロードする例を紹介します。

・「googlesheets」パッケージの紹介
  https://www.karada-good.net/analyticsr/r-136/

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


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

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

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

実行コマンド

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

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

#検索クエリを指定
#pubmedの検索タグが使用可能です
#参考:https://ja.wikipedia.org/wiki/MEDLINE
SetQuery <- "r statistical software" #PubmedIdを取得:getPubmedIdsコマンド PubMedID <- getPubmedIds(pbmedQuery = SetQuery) #PubmedIdを元にデータを取得:fetchPubmedDataコマンド #取得開始の番号:retstartコマンド #取得終了の番号:retmaxコマンド #最新10の論文データを取得 #結果はXMLで取得 GetResult <- fetchPubmedData(pubmedIdList = PubMedID, retstart = 0, retmax = 10) ###取得データを整形##### #雑誌名を取得 AbbreData <- unlist(xpathApply(GetResult, "//ISOAbbreviation", xmlValue)) #doiを取得 #タグが存在しない場合はNA値を結果に代入 DOIData <- unlist(xpathApply(GetResult, "//Article", function(x){ GetData <- unlist(xpathApply(x, "ELocationID[@EIdType='doi']", xmlValue)) ifelse(is.null(GetData), GetData <- "NA", xpathSApply(x, "ELocationID[@EIdType='doi']", function(x) paste(xmlSApply(x, xmlValue), collapse = ", ")))})) #論文タイトルを取得 TitleData <- unlist(xpathApply(GetResult, "//ArticleTitle", xmlValue)) #出版年月日を取得 PubData <- unlist(xpathApply(GetResult, "//PubDate", function(x) paste(xmlSApply(x, xmlValue), collapse = "."))) #キーワードを取得 #タグが存在しない場合はNA値を結果に代入 KeyWordData <- unlist(xpathApply(GetResult, "//MedlineCitation", function(x){ GetData <- unlist(xpathApply(x, "KeywordList", xmlValue)) ifelse(is.null(GetData), GetData <- "NA", xpathSApply(x, "KeywordList", function(x) paste(xmlSApply(x, xmlValue), collapse = ", ")))})) #アブストラクトを取得 #タグが存在しない場合はNA値を結果に代入 AbstData <- unlist(xpathApply(GetResult, "//Article", function(x){ GetData <- unlist(xpathApply(x, "Abstract", xmlValue)) ifelse(is.null(GetData), GetData <- "NA", xpathSApply(x, "Abstract", function(x) paste(xmlSApply(x, xmlValue), collapse = ", ")))})) #データの結合 ResultData <- data.frame(TitleData, AbstData, AbbreData, PubData, DOIData, KeyWordData) ###参考:Googleスプレッドシートへアップロード##### #googlesheetsパッケージは下記URLの記事を参考にしてください #https://www.karada-good.net/analyticsr/r-136/ #パッケージの読み込み library("googlesheets") #Googleスプレッドシートへログイン gs_auth(new_user = TRUE) #データをアップロード gs_new(title = "PubMedData", input = ResultData, trim = TRUE) [/code]


アップロード例

easyPubMed


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

スポンサードリンク

関連コンテンツ


スポンサードリンク