R×stringr::str_pad 文字列を最小幅にパディングする

R言語のstringrパッケージに含まれているstr_pad()関数について解説します。この関数は、「文字列の長さを(スペースや特定の文字を追加して)一定に揃えたい(パディングしたい)」ときに使える関数です。一言で言うと、「データの見た目を綺麗に整えたり、桁数を統一したりしたいとき」に使います。

stringrパッケージは、文字列データを操作するための強力で便利な関数を多く取り扱っています。また、Rのデータサイエンス向け主要パッケージ群であるtidyverseパッケージにも含まれています。

概要

str_pad()は、文字列を最小幅にパディングするための関数です。str_length(str_pad(x, n))が常にn以上になるように、文字列を固定幅にパディングします。

使い方


str_pad(
  string,
  width,
  side = c("left", "right", "both"),
  pad = " ",
  use_width = TRUE
)

引数

string

文字ベクトルまたは文字ベクトルに変換可能なものを指定します。

width

パディングされた文字列の最小幅を指定します。

side = c(“left”, “right”, “both”)

パディング文字を追加する側(左、右、または両方)を指定します。

pad = ” “

パディング文字(デフォルトはスペース)を指定します。

use_width = TRUE

FALSEの場合、文字列の幅ではなく長さを使用します。違いについては、str_width()/str_length()を参照してください。

戻り値

stringr/width/pad と同じ長さの文字ベクトルです。

使用例

準備

あらかじめ、tidyverseパッケージまたはstringrパッケージを読み込んでおきます。


# library(tidyverse)でもよい
library(stringr)

文字列をパディングする

文字列「りんご」と「ごりら」、「らっぱ」をそれぞれパディングしたベクトルを取得するには次のようにします。


rbind(
  str_pad("りんご", 10, "left", "-"),
  str_pad("ごりら", 10, "right", "-"),
  str_pad("らっぱ", 10, "both", "-")
)

     [,1]        
[1,] "----りんご"
[2,] "ごりら----"
[3,] "--らっぱ--"

参考文献