モジュールのレッスン (1/2)
データのフィルタリングと選択
Tidyverse は、共通の哲学、文法、データ構造を共有するデータ サイエンス用に設計された R パッケージのコレクションです。このスイートのデータ操作用のコア パッケージは dplyr と呼ばれます。
dplyr は、データ フレーム操作を非常に直感的に行うための一連の関数 (「動詞」) を導入します。
パイプ演算子 (%>% または |>)
Tidyverse の哲学は、オペレーションを連鎖させることに重点を置いています。パイプ演算子 %>% (または R 4.1 以降で導入されたネイティブ パイプ |>) は、1 つの式の結果を受け取り、それを最初の引数として次の関数に渡します。これにより、ネストされた関数呼び出しが回避され、一時変数でワークスペースが乱雑になるのを防ぎます。
# Without pipe:
filter(select(df, name, age), age > 20)
# With pipe:
df %>%
select(name, age) %>%
filter(age > 20)フィルタリングと選択のための dplyr 動詞
データ フレームからデータを抽出するための 3 つの基本的な動詞は次のとおりです。
1. select()
データ フレームから特定の列を選択します。保持する列名をリストすることも、- プレフィックスを使用して列を除外することもできます。
# Select the 'name' and 'salary' columns
select(df, name, salary)
# Remove the 'address' column
select(df, -address)2. filter()
1 つ以上の論理条件に基づいて行をフィルターします。
# Filter rows where age is greater than 30
filter(df, age > 30)
# Filter using multiple conditions (logical AND)
filter(df, age > 30, department == "HR")3. arrange()
1 つ以上の列の値に基づいて行を並べ替えます。デフォルトでは、並べ替え順序は昇順です。降順で並べ替えるには、列名を desc() で囲みます。
# Sort by age (ascending)
arrange(df, age)
# Sort by salary (descending)
arrange(df, desc(salary))自分で試してみてください
演習 1: 列を選択する
データ フレーム df を指定して、select() を使用して名前と年齢の列を選択し、結果を df_selected に保存します。
ヒントを表示
アメリカ: df_selected <- select(df, 名前, 年齢)
3 回の試行後に解決策が利用可能になります
age 列が厳密に 18 より大きいデータ フレーム df の行をフィルターし、結果を df_socials に保存します。
ヒントを表示
filter(df, age > 18) 関数を使用して、結果を df_socials に割り当てます。
3 回の試行後に解決策が利用可能になります
パイプ演算子 %>% を使用して操作を連鎖させます。まず、年齢が 18 を超えるレコードのみを保持する df をフィルターし、次に名前列を選択します。結果をresに保存します。
ヒントを表示
Scrivi: res <- df %>% filter(age > 18) %>% select(name)
3 回の試行後に解決策が利用可能になります
array() と desc() を使用して、給与列に基づいてデータ フレーム df の行を降順に並べ替えます。結果を df_sorted に保存します。
ヒントを表示
米国はパイプラインを手配し(給与を記述)、パイプラインを調整し、指示を出します。
3 回の試行後に解決策が利用可能になります
df に完全なパイプラインを作成します。部門が「IT」に等しいレコードをフィルターし、列名と給与を選択し、結果を給与順 (昇順) で並べ替えます。最終結果をresに保存します。
ヒントを表示
パイプ %>% を使用して、filter(Department == 'IT')、select(name,給与)、および配置(給与)をチェーンします。
3 回の試行後に解決策が利用可能になります