R言語で、リストまたはデータフレームの値を用いて、文字列を埋め込む方法について解説します。文字列の操作には、tidyverseパッケージに含まれているstringrパッケージを使用するのが便利です。ここでは、stringrパッケージのstr_glue_data()を使用した方法についてお伝えします。
str_glue()は、Pythonでいうところのformat()やf文字列のことです。
目次
str_glue_data()の概要
str_glue_data()は、リストまたはデータフレームの値を用いて、文字列を埋め込むための関数です。
str_glue_data()の使い方
str_glue_data(.x, ..., .sep = "", .envir = parent.frame(), .na = "NA")
str_glue()の引数
.x
値を検索するために使用される環境、リスト、またはデータ フレームを指定します。
sep = “”
要素を区切るために使用されるセパレーターの文字列を指定します。
.envir = parent.frame()
各式を評価する環境を指定します。
式は左から右に評価されます。.xが環境の場合、式はその環境で評価され、.envirは無視されます。NULLが渡された場合は、emptyenv()と同等になります。
.na = “NA”
NA値を置き換える値を指定します。
NULL欠損値が伝播された場合、つまりNA結果の場合はNA出力が発生します。それ以外の場合は、値は.naの値に置き換えられます。
str_glue_data()の戻り値
最長入力と同じ長さの文字ベクトル。
準備
あらかじめ、tidyverseパッケージを読み込んでおきます。
library(tidyverse)
str_glue_data()の使用例
リストまたはデータフレームの値を用いて、文字列埋め込みには次のようにします。
mtcars %>%
str_glue_data("{rownames(.)} : mpg = {mpg}")
Mazda RX4 : mpg = 21
Mazda RX4 Wag : mpg = 21
Datsun 710 : mpg = 22.8
Hornet 4 Drive : mpg = 21.4
Hornet Sportabout : mpg = 18.7
Valiant : mpg = 18.1
Duster 360 : mpg = 14.3
Merc 240D : mpg = 24.4
Merc 230 : mpg = 22.8
Merc 280 : mpg = 19.2
Merc 280C : mpg = 17.8
Merc 450SE : mpg = 16.4
Merc 450SL : mpg = 17.3
Merc 450SLC : mpg = 15.2
Cadillac Fleetwood : mpg = 10.4
Lincoln Continental : mpg = 10.4
Chrysler Imperial : mpg = 14.7
Fiat 128 : mpg = 32.4
Honda Civic : mpg = 30.4
Toyota Corolla : mpg = 33.9
Toyota Corona : mpg = 21.5
Dodge Challenger : mpg = 15.5
AMC Javelin : mpg = 15.2
Camaro Z28 : mpg = 13.3
Pontiac Firebird : mpg = 19.2
Fiat X1-9 : mpg = 27.3
Porsche 914-2 : mpg = 26
Lotus Europa : mpg = 30.4
Ford Pantera L : mpg = 15.8
Ferrari Dino : mpg = 19.7
Maserati Bora : mpg = 15
Volvo 142E : mpg = 21.4
R×stringr::str_glue_data リストまたはデータフレームの値を用いた文字列の埋め込み