【问题标题】:Dplyr Transformation with gatherDplyr 转换与收集
【发布时间】:2020-05-08 06:49:22
【问题描述】:

我正在尝试使用 dplyr 整理一个 daraframe,但是我遇到了 is 问题。

我知道的数据如下所示:

.$AIC.x $k_neigh_numb.x $term              $estimate $std.error $Region
     <dbl>           <dbl> <chr>                  <dbl>      <dbl> <chr>  
 1   -445.               2 (Intercept)          12.5       0.0548  PRAHA  
 2   -445.               2 Rooms                 0.0820    0.00750 PRAHA  
 3   -445.               2 log(Meters)           0.684     0.0172  PRAHA  
 4   -445.               2 Mezone               -0.0398    0.0240  PRAHA  
 5   -700.               4 (Intercept)          12.5       0.0541  PRAHA  

我需要将“AIC.x”列插入术语列,以便最终数据框如下所示:

 $k_neigh_numb.x    $term              $estimate $std.error $Region
     <dbl>        <chr>                  <dbl>      <dbl> <chr>  
 1   2            (Intercept)            12.5       0.0548  PRAHA  
 2   2              Rooms               0.0820      0.00750 PRAHA  
 3   2             log(Meters)           0.684       0.0172  PRAHA  
 4   2              Mezone             -0.0398      0.0240  PRAHA 
 5   2                AIC.x             -445.         NA     PRAHA
 6   4              (Intercept)          12.5       0.0541  PRAHA 

【问题讨论】:

    标签: r dplyr tidyverse data-manipulation


    【解决方案1】:

    我假设您希望每个 k_neigh_numb.xRegion 都有一个 AIC.x 值。

    然后我们可以将所有AIC.x行:

    new_rows = data %>%
      group_by(k_neigh_numb.x, Region) %>%
      summarise(estimate = max(AIC.x)) %>%
      mutate(term = 'AIC.x',
             std.error = NA)
    

    并将新行和现有行附加在一起,如下所示:

    final = rbind(
      select(new_rows, c('k_neigh_numb.x', 'term', 'estimate', 'std.error', 'Region')),
      select(data,     c('k_neigh_numb.x', 'term', 'estimate', 'std.error', 'Region'))) %>%
      arrange(k_neigh_numb.x)
    

    select 语句故意使两个表中的列对齐。如果您需要的话,还有一些按列名绑定的替代函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-13
      • 2012-08-14
      • 2018-05-07
      • 1970-01-01
      • 1970-01-01
      • 2019-11-23
      • 2019-12-02
      相关资源
      最近更新 更多