Исключение наблюдений, которые не меняются в течение периода с R (r-кран) - PullRequest
0 голосов
/ 29 июня 2018

Добрый вечер!

У меня есть база со следующей характеристикой:

Year   source   destination   HS04   value
1989    ARG        BRA        0101     1
1989    ARG        BRA        0102     0
1989    ARG        BRA        0103     0
1989    ARG        BRA        0104     1
  .      .          .           .      .
  .      .          .           .      .
  .      .          .           .      .
2010    ARG        BRA        0101     1
2010    ARG        BRA        0102     1
2010    ARG        BRA        0103     1
2010    ARG        BRA        0104     1

Мне нужно исключить наблюдения HS04, которые не менялись в течение периода. То есть HS04 0101 и HS04 0104, поскольку как начальный, так и последний годы имели значение 1.

Ссылкой будет HS04, т. Е. Для данной пары стран (например, ARG и BRA) HS04 варьируется между начальным периодом и конечным периодом.

Период выборки охватывает 1989-2010

Заранее спасибо за внимание!

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

с использованием @A. Данные Сулимана, n_distinct() точно соответствует вашим потребностям:

data %>% group_by(HS04) %>% 
      filter(n_distinct(value) >1) %>% ungroup()
0 голосов
/ 29 июня 2018

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

 data %>% group_by(HS04) %>% 
          mutate(flag = ifelse(min(value) & max(value)==1, 1, 0)) %>% 
          filter(flag==0) %>% ungroup()

Данные

data <- read.table(text = "
               Year   source   destination   HS04   value
               1989    ARG        BRA        0101     1
               1989    ARG        BRA        0102     0
               1989    ARG        BRA        0103     0
               1989    ARG        BRA        0104     1
               2010    ARG        BRA        0101     1
               2010    ARG        BRA        0102     1
               2010    ARG        BRA        0103     1
               2010    ARG        BRA        0104     1
",header=T)
...