一所懸命に手抜きする

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

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

R言語でRight関数を

Right()関数

 多くの言語にはRight()関数がありますが、R言語には標準では文字列の右側x文字を切り出すという関数が見当たりません。業務上それなりにニーズがあるので作成しました。
 ご自由にお使いください。エラートラップはしていませんので必要に応じて加工して下さい。

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

動作確認

3文字の文字列から右側2文字抽出
Right("abc",2)  
##[1] "bc"  
Right(c("abc","vwxyz","山田太郎"),2)  
##[1] "bc" "yz" "太郎"  
右側0文字やマイナス文字数抽出は""を返す
Right("abc",-2)  
##[1] ""
対象文字列より長い文字数を抽出しようとすると元の文字列そのものを返す
Right("abc",5)  
##[1] "abc"

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

もとになった関数 substr()

[R] substr()
#----------------------------------------------------------#
#  substr(文字列 , 抽出開始位置, 抽出終了位置)
#----------------------------------------------------------#
substr("1234山67", 4, 6)
##[1] "4山6"
substr(c("鈴木太郎","abcdefg","xy"), 3, 4)
##[1] "太郎"  "cd"  ""
#----------------------------------------------------------#

a-habakiri.hateblo.jp

広告を非表示にする