文字列の最初の(または最後の)n文字を抽出したい。これは、ExcelのLEFT()
およびRIGHT()
と同等です。小さな例:
# create a string
a <- paste('left', 'right', sep = '')
a
# [1] "leftright"
b
の最初の4文字に等しい文字列であるa
を生成したい:
b
# [1] "left"
私は何をすべきか?
?substr
をご覧ください
R> substr(a, 1, 4)
[1] "left"
stringr
パッケージはstr_sub
関数を提供します。これはsubstr
よりも少し使いやすく、特に文字列の適切な部分を抽出したい場合:
R> str_sub("leftright",1,4)
[1] "left"
R> str_sub("leftright",-5,-1)
[1] "right"
Rbaseパッケージから始まるRight()およびLeft()関数を簡単に取得できます。
正しい機能
right = function (string, char){ substr(string,nchar(string)-(char-1),nchar(string)) }
左機能
left = function (string,char){ substr(string,1,char) }
これらの2つのカスタム関数は、Excelのleft()およびright()とまったく同じように使用できます。あなたがそれが役に立つことを願っています
シンプルにし、Rの基本機能を使用します。
# To get the LEFT part:
> substr(a, 1, 4)
[1] "left"
>
# To get the MIDDLE part:
> substr(a, 3, 7)
[1] "ftrig"
>
# To get the RIGHT part:
> substr(a, 5, 10)
[1] "right"
substr()
関数は、開始位置と停止位置を示しますsubstr(x, start, stop)