【问题标题】:R dplyr rename dropping other variables?R dplyr 重命名删除其他变量?
【发布时间】:2019-05-10 05:52:47
【问题描述】:

我正在尝试使用 dplyr 重命名多个变量,但随后我无法访问我未重命名的其他列,这不是我对文档的期望。请注意,我使用 plyr 版本的 rename 使其工作,但想使用 dplyr 版本来避免 plyr 和 dplyr 之间的一些毛茸茸的冲突。

例子:

airports_dest <- nycflights13::airports %>% 
  rename(lat = lat_dest, lon = lon_dest)) %>% 
  select(faa,lat_dest, lon_dest)

产量错误:

Error in select(faa, lat_dest, lon_dest) : object 'faa' not found

谢谢!

【问题讨论】:

    标签: r select dplyr rename


    【解决方案1】:

    你可以这样做:

    airports_dest <- 
      nycflights13::airports %>% 
      select(faa, lat_dest = lat, lon_dest = lon)
    

    【讨论】:

      【解决方案2】:

      您报告的错误是由您在rename 调用结束时的额外) 引起的。

      数据集中的列已命名为“lat”和“lon”。如果要将它们重命名为“lat_dest”和“lon_dest”,请翻转rename 参数。

      airports_dest <- 
          nycflights13::airports %>% 
          rename(lat_dest = lat, lon_dest = lon) %>%
          select(faa, lat_dest, lon_dest)
      
      head(airports_dest)
      
      #> # A tibble: 6 x 3
      #>   faa   lat_dest lon_dest
      #>   <chr>    <dbl>    <dbl>
      #> 1 04G       41.1    -80.6
      #> 2 06A       32.5    -85.7
      #> 3 06C       42.0    -88.1
      #> 4 06N       41.4    -74.4
      #> 5 09J       31.1    -81.4
      #> 6 0A9       36.4    -82.2
      

      【讨论】:

      • 完美,感谢修复 DuckyPyjamas。我显然把自己映射到了 plyr rename 到 dplyr rename 上。
      猜你喜欢
      • 1970-01-01
      • 2018-05-06
      • 2015-08-03
      • 2017-06-10
      • 2021-10-22
      • 1970-01-01
      • 2016-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多