一所懸命に手抜きする

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

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

R言語でLeft関数

Left()関数

 多くの言語にはLeft()関数が存在します。R言語には標準では文字列の左側x文字を切り出すという関数は見当たりません。
 もっともsubstr(),substring()で簡単に切り出せるので問題がないと言えば問題がないのですが。  Left(X,3)とやるとXから3文字切り出しているんだなとわかりやすいので、監査法人に対して分析ログを提出するなどというときに便利です。
 ユーザ関数というほどでもないのですがLeft()を作成しました。あとでこれは何をしているのかと尋ねられることがなるべくないようにという工夫の一環です。

[R]ユーザー関数 Left()
#----------------------------------------------------------#
#  Left(文字列ベクトル,左から何文字切り出すか)
#----------------------------------------------------------#
Left<-function(x,chr){
    return(substr(x,1,chr))
}
#----------------------------------------------------------#

動作確認

文字列から左側2文字抽出
Left("abc",2)  
##[1] "ab"
Left(c("abc","xyz","山田太郎"),2)  # 文字列ベクトルから
##[1] "ab"   "xy"   "山田"
左側0文字やマイナス文字数抽出は""を返す
Left("abc",-2)  
##[1] ""
対象文字列より長い文字数を抽出しようとすると元の文字列そのものを返す
Left("abc",5)  
##[1] "abc"   

ご使用は自己責任でお願いします。

a-habakiri.hateblo.jp

広告を非表示にする