・お題:dplyrのmutate関数で、data.frameに列を追加することができる。この際に列名に変数を使おうとするとうまくいかないので、何とかしたい。
# ライブラリを読み込んで、データフレームを作る。
library(tidyverse)
df <- data.frame(A = c(1,2,3),
B = c("abc", "def", "ghi"))
df
# 適当にmutateで列を追加する。列名 = ベクトル、という形で指定すれば良い。
mutate(df, c = c("tanaka", "yamada", "fujiwara"))
# 列名に変数を使ってみる。と、オブジェクト名col_namesを列名と認識してしまう。
col_name <- "test"
mutate(df, col_name = c("tanaka", "yamada", "fujiwara"))
・以下を参考に解決できた。
# !!オブジェクト名:=にすれば良いらしい。
mutate(df, !!col_name := c("tanaka", "yamada", "fujiwara"))
おわり