Как указать столбцы для исключения при сохранении всех отдельных строк? - PullRequest
0 голосов
/ 19 февраля 2019

Как сохранить все отдельные строки во фрейме данных, исключая определенные столбцы, указав только те столбцы, которые вы хотите исключить.В приведенном ниже примере

library(dplyr)
dat <- data_frame(
    x = c("a", "a", "b"),
    y = c("c", "c", "d"),
    z = c("e", "f", "f")
)

я хотел бы вернуть фрейм данных со всеми различными строками среди переменных x и y, указав только то, что я хочу исключить столбец z.Возвращенный фрейм данных должен выглядеть как возвращаемый отсюда фрейм данных

dat %>% distinct(x, y)

Вы могли бы подумать, что можете сделать следующее, но это приводит к ошибке

dat %>% distinct(-z)

Я предпочитаю Tidyverseрешение

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

Просто выполните:

library(dplyr)

dat %>%
  distinct_at(vars(-z))

Вывод:

# A tibble: 2 x 2
  x     y    
  <chr> <chr>
1 a     c    
2 b     d    

И убедитесь, что вы обновили свою версию dplyr до новейшей CRAN версии.

0 голосов
/ 19 февраля 2019

Мы могли бы использовать

dat %>% 
    distinct(!!! rlang::syms(setdiff(names(.), "z")))
# A tibble: 2 x 2
#  x     y    
#  <chr> <chr>
#1 a     c    
#2 b     d    
...