【问题标题】:Group (collapse?) rows without summarising to fill in NAs分组(折叠?)行而不汇总以填写 NA
【发布时间】:2018-12-30 05:03:45
【问题描述】:

我有一个使用 dplyr 应该很简单的问题(我认为),但我似乎找不到解决方案。

我的数据框包含数字和因子。每个观测值由两行表示,两列(Agg_Entropy 和 Av_Amplitude)之一具有值或 NA。我想将每个观察值的行合并为一行(不进行汇总),以便将 NA 替换为相关值。

数据框的简单摘录:

 Selection Low   High    Agg_Entropy Av_Amplitude Filename                  
  <fct>     <fct> <fct>         <dbl>        <dbl> <fct>                     
1 1         368.2 13747.8       NA           -17.5 20180110_182800_Sunset.wav
2 1         368.2 13747.8        5.62         NA   20180110_182800_Sunset.wav
3 2         142   13926.3       NA           -17.4 20180110_182800_Sunset.wav
4 2         142   13926.3        5.96         NA   20180110_182800_Sunset.wav

我想要什么:

 Selection   Low    High Agg_Entropy Av_Amplitude                   Filename
1         1 368.2 13747.8       5.623        -17.5 20180110_182800_Sunset.wav
2         2 142.0 13926.3       5.958        -17.4 20180110_182800_Sunset.wav

非常感谢任何帮助。谢谢!

【问题讨论】:

    标签: r group-by dplyr


    【解决方案1】:

    在group_by 的列“选择”、“文件名”、“低”和“高”之后,summarise 其他列通过删除带有na.omit 的NA 元素。在这里,我们假设组的每一列只有一个非 NA 元素

    library(tidyverse)
    df1 %>%
       group_by(Selection, Filename, Low, High) %>%
       summarise_all(na.omit)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-21
      • 2021-09-28
      • 1970-01-01
      • 1970-01-01
      • 2022-12-12
      • 1970-01-01
      • 2018-06-04
      • 2014-08-28
      相关资源
      最近更新 更多