一所懸命に手抜きする

監査の仕事をしています。ITを利用し、良い意味で「手抜き」することは効率化と精度アップに役立つと思うんです。部下への引き継ぎのためにまずは諸々頭から引っ張り出そうとブログを始めました。

[ Main ]  [ 別館 ]
当ブログで取り上げられている事案やデータベース、人物等はすべてフィクションです。

Rで連想配列的なことをしたい(2)

連想配列(1)

a-habakiri.hateblo.jp

 ディクショナリやハッシュ、マップなどいろいろ呼び方はあるもののいわゆる連想配列のようなものをRで実現したいと思いました。
 前回は、一行データフレームに列ラベルをつけ、列ラベルから要素の値を呼び出すことで連想配列代わりにしてみました。
 例として、ラベル S001 から 値 支社番号 を呼び出しました。
 しかし、この方法では逆は簡単にはできません。
 値 支社番号 から ラベル S001 を呼び出すのは難しいのです。

連想配列(2)

多次元データフレームを利用する

 双方向の呼び出しができるように、多次元データフレームを利用してみます。ここでは二次元で。

# 連想配列代わりにデータフレーム作成
jp<-c("支社番号","支社名","支店番号","支店名")
en<-c("S001","S002","S003","S004")
df<-data.frame(en,jp,stringsAsFactors=FALSE)

df[en=="S001",]$jp
##[1] 支社番号

df[jp=="支社番号",]$en
##[1] S001

 このように相互に呼び出しが可能になります。もちろん三変数以上でも対応させられます。

広告を非表示にする