R dplyr переименовать сбрасывая другие переменные? - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь использовать 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 ]

0 голосов
/ 09 декабря 2018

Вы можете просто сделать:

airports_dest <- 
  nycflights13::airports %>% 
  select(faa, lat_dest = lat, lon_dest = lon)
0 голосов
/ 09 декабря 2018

Ошибка, о которой вы сообщили, вызвана дополнительным ) в конце вашего 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
...