tidyverseではmutate_at
関数で列を指定して列単位で変換できます。ここでは列選択の方法をいくつか紹介します。
library(tidyverse) data <- as_tibble(iris) # 3列目以降の列を文字列に変換したtibbleを作成する。 # 整数範囲または`vars(n:last_col())`を使います。 data %>% mutate_at(3:ncol(.), as.character) data %>% mutate_at(vars(3:last_col()), as.character) # 3列目以降最後から2番目の列を文字列に変換したtibbleを作成する。 # 整数範囲または`vars(n:last_col(nth))`を使います。 data %>% mutate_at(3:(ncol(.) - 1), as.character) data %>% mutate_at(vars(3:last_col(1)), as.character) # 3列目以降の列以外を文字列に変換したtibbleを作成する。 # 負の整数範囲または`vars(-n:-last_col())`を使います。 data %>% mutate_at(-3:-ncol(.), as.character) data %>% mutate_at(vars(-3:-last_col()), as.character) # 3列目以降最後から2番目の列以外を文字列に変換したtibbleを作成する。 # 負の整数範囲または`vars(-n:-last_col(nth))`を使います。 data %>% mutate_at(-3:-(ncol(.) - 1), as.character) data %>% mutate_at(vars(-3:-last_col(1)), as.character) # Sepal.Length、Sepal.Width列を文字列に変換したtibbleを作成する。 # c(列名ベクトル)またはvars(列名1, 列名2, ...)を使います。 data %>% mutate_at(c("Sepal.Length", "Sepal.Width"), as.character) data %>% mutate_at(vars(Sepal.Length, Sepal.Width), as.character) # Sepal.Length、Sepal.Width列以外を文字列に変換したtibbleを作成する。 # vars(-列名1, -列名2, ...)を使います。 data %>% mutate_at(vars(-Sepal.Length, -Sepal.Width), as.character) # 最後の列を文字列に変換したtibbleを作成する。 # vars(last_col())を使います。 data %>% mutate_at(vars(last_col()), as.character) data %>% mutate_at(vars(last_col(0)), as.character) #最後から2つ前の列を文字列に変換したtibbleを作成する。 # vars(last_col(nth))を使います。 data %>% mutate_at(vars(last_col(2)), as.character)