[[R]] 言語では、データフレームのカラムを選択する際、通常はシングルクオートやダブルクオートで囲む必要がない。 ```r df |> select(name, age, address) ``` この仕様により、コードの記述量が減って便利である一方、R の識別子規則を遵守していないカラム (非構文的名前) を選択しようとすると、構文エラーが発生する。 ```r df |> select(名前, 年齢, 住所) # 構文エラー ``` これを回避するには、バッククォートまたはダブルクオートでエスケープする必要がある。 ```r df |> select(`名前`, `年齢`, `住所`) # OK ``` ダブルクオートでもエスケープできるが、コミュニティの慣習 [^1] として、バッククォートでエスケープされていることが多い。 ここまで [[dplyr]] の `select()` を例にしたが、これは dplyr 固有の挙動ではなく R の構文機能なので、非構文的名前を扱う他の文脈でも同じようにエスケープが必要になる。 `
演算子で列を取り出すとき: ```r df$名前 # 構文エラー df
名前` # OK ``` formula で変数を参照するとき: ```r lm(`売上` ~ `単価` + `数量`, data = df) ``` ## 関連ノート - **[派生]** [[ggplot2 で日本語の文字化けを直す方法]]: 本ノートのカラム名エスケープと並ぶ、R で CJK を扱う話題 [^1]: https://jhudatascience.org/intro_to_r/resources/quotes_vs_backticks.html