R (tidyverse), starts_with, ends_with

select() 関数の中で、列名を指定する時に便利な関数があります。 starts_with()ends_with() です。

オブジェクト %>% select(starts_with("文字列"))

サンプルが数十個あるような時に、select() 関数に全て書くのも大変です。そのような時は、列名に Sample1, Sample2 や WT1, WT2 のように、共通の文字で始まる名前を付けておくと良いです。そうすれば、 starts_with("Sample")starts_with("WT") のように関数を使ってまとめて指定できます。

一方、 WT_1h, KO_1h や WT_12h, KO_12h のように、末尾に共通な文字で指定したい場合は、 ends_with() が使えます。 ends_with("_1h")ends_with("_12h") のように指定します。

select() 関数の中で指定することを忘れないようにしましょう。

samples <- result_data %>% select(starts_with("Sample"))

> result_data
# A tibble: 3 x 5
  Id    Symbol Description   Sample1 Sample2
  <chr> <chr>  <chr>           <dbl>   <dbl>
1 id3   CCC    lorem ipsum c       3       6
2 id2   BBB    lorem ipsum b       2       5
3 id1   AAA    lorem ipsum a       1       4
>
>
> samples
# A tibble: 3 x 2
  Sample1 Sample2
    <dbl>   <dbl>
1       3       6
2       2       5
3       1       4

 

投稿者:

Atsushi Doi

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