テーブルのデータから、必要な「列」だけを選択して取り出すには、 select()関数を使います。
select(対象のデータ, 列名1, 列名2, ...)
具体的には、下記のようになります。 select(result_data, Symbol, Sample1, Sample2) の部分です。
> result_data
# A tibble: 3 x 5
Id Sample1 Sample2 Symbol Description
<chr> <dbl> <dbl> <chr> <chr>
1 id1 1 4 AAA lorem ipsum a
2 id2 2 5 BBB lorem ipsum b
3 id3 3 6 CCC lorem ipsum c
>
>
> select(result_data, Symbol, Sample1, Sample2)
# A tibble: 3 x 3
Symbol Sample1 Sample2
<chr> <dbl> <dbl>
1 AAA 1 4
2 BBB 2 5
3 CCC 3 6
従来のデータフレームと異なり、列名をダブルクオーテーションで囲む必要がありません。(列名に空白や記号を含む場合は、バッククオート「`」で囲む必要があります。)
# 従来の書き方だと、可読性が今ひとつです。
result_data[, c("Symbol", "Sample1", "Sample2")]
また、select 関数は、指定した順番に取り出せるので、列を並び替える目的にも使えます。
output_data <- select(result_data, Id, Symbol, Description, Sample1, Sample2)
# 実際には、 %>% の処理と組み合わせて書くことが多いです。
# 1つ前の処理結果が対象のデータになるので、その指定を省略して記述できます。
result_data <- inner_join(input_data, meta_data) %>%
select(Id, Symbol, Description, Sample1, Sample2)
「R (tidyverse), select」への1件のフィードバック
コメントは停止中です。