岡田テクノ特許事務所

Rを用いて特許分類(FI)の件数ランキングのプロットを作成する

母集合の特許情報データから、Rを用いて、特許分類データを抜き出し件数ランキングをプロットします。

   注)R (R言語)は、統計解析等に活用されるフリーのプログラミング言語及びそのソフトウェア環境です。

特許件数ランキングプロット


0) 母集合データの内容・構造

プロットの根拠となる母集合の特許情報データは、例えば特許検索データベースの1つであるSRPARTNER(日立システムズ)から入手することができます。もちろん、Jplatpat等他のデータベースから入手しても構わないのですが、それぞれのデータベースで若干フォーマットが異なることに注意を要します。

下表にSRPARTNERから入手した特許情報データの一部を示します。FI(最新)は日本の特許に付与される特許分類FIで、各特許出願に対して付与されますが、必ずしも1つではなく複数付与される場合もあります(下表の場合、特許出願ごとにセミコロンで分けられて格納されています)。

式

上記のように特許情報が格納されたcsv(下記例では”入力データ(おむつ).csv”)から、以下、特許分類データ(FI)を抜き出して、集計、グラフ化します。



1) Rへのデータ読み込み

まず、上記特許情報データ(csv)をデータフレームとしてR に読み込みます。

今回は具体例として、あらかじめ「おむつ」関係の特許(登録)データを収集(約3700件)、SRPARTNERからダウンロードしてcsvデータを作成して、あらためてそのcsvファイルをread.csv()を用いて読み込みました。


dpat <- read.csv(”入力データ(おむつ).csv”,stringsAsFactors=FALSE, fileEncoding = "Shift-Jis")



2) 特許分類データを抽出・分離・集計・ソート

読み込んだデータフレームdpatから特許分類FIの列データを取り出して、セミコロン(;)を区切り文字として分解してリストを生成します。
ただし、単に件数ランキングを見るにはリストである必要はないので、unlist化によりベクトルデータに変換し、当該ベクトルデータをtable関数を用いて集計します。
さらにグラフ化するので扱いやすくするために、降順にソートした上でtableからデータフレーム(data.frame)に変換します。
生成されたデータフレームはrankingとしました。
以上の処理はパイプ(%>%)を使えば、1行でできてしまいます。


ranking <- dpat$"FI" %>%
  strsplit(';') %>%
  unlist %>% 
  table %>% 
  sort(decreasing=TRUE) %>% 
  data.frame()
  

尚、パイプを利用するために、dplyrパッケージを利用しました。
生成されたデータフレームの列名を適当な名前に変更すれば、


colnames(ranking)<-c('Item','Number')

以下のようなランキングデータを作成することができます。

式

ここでItemが注目する特許分類FI、Numberが母集合の中で当該FIが付与された特許件数です。



3) 特許分類件数ランキングをプロット

最後に、上位数個の項目(特許分類)を選択して、barplot()で棒グラフとして、特許分類件数ランキングをプロットします。


barplot(ranking$Number, 
  names.arg=ranking$Item, 
  main = "Ranking of FI classification",
  col=topo.colors(10),
  horiz=TRUE,
  las=1)
  

barplotのオプションとして、names.argで各項目の名前を指定、lasで当該項目の方向を指定することができます。
col(カラー)はc()を用いて個別に指定できますが、カラーパレットを指定すると簡単です。
例えば、rainbow(n), heat.colors(n), terrain.colors(n), topo.colors(n), cm.colors(n)等が 基本カラーパレットとして準備されているので、上記例のように使用できます。

以上により、特許分類の件数ランキングのプロットを作成できます。

特許件数ランキングプロット

特許情報プローブへ戻る