R言語のstringrパッケージに含まれているstr_width()関数について解説します。この関数は、「文字列において、等幅フォントで印刷・表示したときに、文字列がどれだけの表示幅(横幅)を占めるかを計算したい」ときに使える関数です。一見str_length()(文字数を数える関数)と同じように思えますが、日本語(全角文字)や絵文字を扱うときに真価を発揮します。
stringrパッケージは、文字列データを操作するための強力で便利な関数を多く取り扱っています。また、Rのデータサイエンス向け主要パッケージ群であるtidyverseパッケージにも含まれています。
概要
str_width()は、文字列の幅を取得するための関数です。str_width()は、固定幅フォントで印刷する場合(つまり、コンソールで印刷する場合)に文字列が占めるスペースの量を返します。
使い方
str_width(string)
引数
string
文字ベクトルまたは文字ベクトルに変換可能なものを指定します。
戻り値
文字列と同じ長さの数値ベクトル。
使用例
準備
あらかじめ、tidyverseパッケージまたはstringrパッケージを読み込んでおきます。
# library(tidyverse)でもよい
library(stringr)
文字列の幅を計算する
文字列の幅を取得するには次のようにします。
s <- c("😀", "Z")
str_width(s)
[1] 2 1
ちなみに、これの文字列の長さは次になります。
s <- c("😀", "Z")
str_length(s)
[1] 1 1