首页 文章

R dplyr重命名删除其他变量?

提问于
浏览
0

我试图使用dplyr重命名多个变量,但后来我失去了对我不重命名的其他列的访问权限,这不是我对文档的期望 . 注意我使用plyr版本的重命名工作,但是想使用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

谢谢!

2 回答

  • 1

    你可以这样做:

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

    您报告的错误是由 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
    

相关问题