2016-03-17 3 views
1

Я пытаюсь извлечь только строки, когда b является уникальным значением за a.извлечение уникальных строк данных с использованием dplyr

Вот некоторые выборочные данные

a <- c(1,1,2,2,3,3,4,4,5,5,5,6,6,7,7,8,8,9,9,9,9,9,10,10,10) 
b <- c(1,2,1,1,5,5,6,1,1,1,3,2,2,1,1,2,3,1,2,3,4,4,1,2,2) 
df1 <- data.frame(a, b) 

и используя dplyr пакет

library(dplyr) 

Unique <- df1 %>% 
    group_by(a) %>% 
    filter(n_distinct(b)) 

Нужный выход должен быть длиной кадра данных 18

+3

это должно быть с dplyr? 'unique (df1)' уже делает это и намного быстрее – JeremyS

ответ

2

Мы можем попробовать

library(dplyr) 
df1 %>% 
    distinct() 

Или в base R

unique(df1) 
+1

простой и классный – user08041991

+3

или 'distinct (df)'? – mtoto

+0

@mtoto Спасибо, но я думаю, что OP хочет включить '%>%' – akrun

Смежные вопросы