R 语言中如何使用 `tidyr` 包进行数据整理?

推荐答案

在 R 语言中,tidyr 包是一个用于数据整理和重塑的强大工具。以下是使用 tidyr 包进行数据整理的常见操作:

  1. pivot_longer()pivot_wider():用于将数据从宽格式转换为长格式,或从长格式转换为宽格式。

    • pivot_longer():将多列合并为一列,通常用于将宽格式数据转换为长格式。
    • pivot_wider():将一列扩展为多列,通常用于将长格式数据转换为宽格式。
  2. separate()unite():用于拆分和合并列。

    • separate():将一列拆分为多列。
    • unite():将多列合并为一列。
  3. drop_na()replace_na():用于处理缺失值。

    • drop_na():删除包含缺失值的行。
    • replace_na():用指定值替换缺失值。
  4. nest()unnest():用于嵌套和展开数据。

    • nest():将数据分组并嵌套为列表列。
    • unnest():将嵌套的列表列展开为多行。

本题详细解读

1. pivot_longer()pivot_wider()

  • pivot_longer():将宽格式数据转换为长格式。例如,假设有一个数据框 df,其中包含多个年份的销售额:

    -- -------------------- ---- -------
    --------------
    -- -- -----------
      ------- - ------ -----
      ------ - ------ -----
      ------ - ------ ----
    -
    
    ------- -- -- ---
      ----------------- - --------- -------- - ------- --------- - --------

    结果将是一个长格式数据框,其中 year 列包含年份,sales 列包含销售额。

  • pivot_wider():将长格式数据转换为宽格式。例如,将上述长格式数据转换回宽格式:

2. separate()unite()

  • separate():将一列拆分为多列。例如,假设有一个包含日期和时间的列:

    结果将是一个数据框,其中 date 列包含日期,time 列包含时间。

  • unite():将多列合并为一列。例如,将上述拆分后的列合并回原来的格式:

3. drop_na()replace_na()

  • drop_na():删除包含缺失值的行。例如:

    结果将是一个不包含缺失值的数据框。

  • replace_na():用指定值替换缺失值。例如:

    结果将是一个数据框,其中缺失值被替换为 0。

4. nest()unnest()

  • nest():将数据分组并嵌套为列表列。例如:

    结果将是一个数据框,其中每个组的数据被嵌套为一个列表列。

  • unnest():将嵌套的列表列展开为多行。例如:

    结果将是一个展开的数据框,恢复为原始格式。

纠错
反馈