R (tidyverse), top_n() 上位を抽出

テーブルから、ある列の上位を抽出するには、 top_n() 関数を使います。

top_n(上位いくつまで, 対象の列)

ratio を計算して、上位2つを表示した例です。

top2 <- result_data %>%
  mutate("Ratio" = Sample2 / Sample1) %>%
  top_n(2, Ratio)

> top2
# A tibble: 2 x 6
  Id    Symbol Description   Sample1 Sample2 Ratio
  <chr> <chr>  <chr>           <dbl>   <dbl> <dbl>
1 id1   AAA    lorem ipsum a       1       4   4
2 id2   BBB    lorem ipsum b       2       5   2.5

逆に、下位を求める場合は、順位にマイナス(-)を付けます。

bottom2 <- result_data %>%
  mutate("Ratio" = Sample2 / Sample1) %>%
  top_n(-2, Ratio)

> bottom2
# A tibble: 2 x 6
  Id    Symbol Description   Sample1 Sample2 Ratio
  <chr> <chr>  <chr>           <dbl>   <dbl> <dbl>
1 id2   BBB    lorem ipsum b       2       5   2.5
2 id3   CCC    lorem ipsum c       3       6   2
 

投稿者:

Atsushi Doi

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

「R (tidyverse), top_n() 上位を抽出」への1件のフィードバック

コメントは停止中です。