列名の変更: rename()

列名を変更するには、 rename() 関数が使えます。書式は、 rename("新しい列名" = 既存の列名) です。

下記の例では、 Sample1 を S1 にリネームしています。

> input_data
# A tibble: 3 x 3
  Id    Sample1 Sample2
  <chr>   <dbl>   <dbl>
1 id1         1       4
2 id2         2       5
3 id3         3       6
>
>
> input_data %>% rename("S1" = Sample1)
# A tibble: 3 x 3
  Id       S1 Sample2
  <chr> <dbl>   <dbl>
1 id1       1       4
2 id2       2       5
3 id3       3       6

従来のデータフレームのように colnames() を使うこともできます。変更する列が多い場合は、こちらの方が便利かもしれません。元のオブジェクトを上書きしてしまうため、注意が必要です。

> colnames(input_data) <- c("Id", "S1", "S2")
> input_data
# A tibble: 3 x 3
  Id       S1    S2
  <chr> <dbl> <dbl>
1 id1       1     4
2 id2       2     5
3 id3       3     6

str_replace と組み合わせることもできます。例では、S を Sample に置換しています。

> colnames(input_data)
[1] "Id" "S1" "S2"
>
> colnames(input_data) <- colnames(input_data) %>%
 str_replace("S", "Sample")
>
> input_data
# A tibble: 3 x 3
  Id    Sample1 Sample2
  <chr>   <dbl>   <dbl>
1 id1         1       4
2 id2         2       5
3 id3         3       6
 

投稿者:

Atsushi Doi

株式会社セルイノベーター、主任研究員。理学博士。山口大学大学院理工学研究科修了。東京大学医科学研究所ヒトゲノム解析センターの特任助手を経て、株式会社GNIに主任研究員として勤務。その後、株式会社セルイノベーターの立ち上げに参加し、現在に至る。専門は、バイオインフォマティクス、おもにシステムバイオロジー。