一所懸命に手抜きする

デスクワークばかりのスポーツ嫌いで50歳も過ぎ、いよいよ足腰に衰えを感じつつある昨今。

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