Gabriel Liu
Gabriel Liu

Reputation: 45

Filtering based on two conditions using dplyr

Hi everyone happy new year! Starting the year right with Rstudio.

I want to use dplyr to sort and filter out rows that meet the following conditions:

  1. The species must be traded back and forth between AUS and another country within the same year.

For example, Panaeus shrimp was traded between AUS and BGD for the year 2018 will show up as both.

AUS, BGD, penaeus, 2018, penaeus shrimps nei &

BGD, AUS, penaeus, 2018, penaeus shrimps nei

I've tried using group_by and filter(any) but it doesn't seem to work.

<style type="text/css">
.tg  {border-collapse:collapse;border-spacing:0;}
.tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
  overflow:hidden;padding:10px 5px;word-break:normal;}
.tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
  font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;}
.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top}
</style>
<table class="tg">
<thead>
  <tr>
    <th class="tg-0pky">importer</th>
    <th class="tg-0pky">exporter</th>
    <th class="tg-0pky">species</th>
    <th class="tg-0pky">year</th>
    <th class="tg-0pky">common_name</th>
  </tr>
</thead>
<tbody>
  <tr>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">ARG</td>
    <td class="tg-0pky">oncorhynchus mykiss</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">rainbow trout</td>
  </tr>
  <tr>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">ARG</td>
    <td class="tg-0pky">pleoticus muelleri</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">argentine red shrimp</td>
  </tr>
  <tr>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">BEL</td>
    <td class="tg-0pky">crangon crangon</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">common shrimp</td>
  </tr>
  <tr>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">BGD</td>
    <td class="tg-0pky">fenneropenaeus indicus</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">indian white prawn</td>
  </tr>
  <tr>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">BGD</td>
    <td class="tg-0pky">metapenaeus monoceros</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">speckled shrimp</td>
  </tr>
  <tr>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">BGD</td>
    <td class="tg-0pky">penaeus</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">penaeus shrimps nei</td>
  </tr>
  <tr>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">BGD</td>
    <td class="tg-0pky">penaeus monodon</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">giant tiger prawn</td>
  </tr>
  <tr>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">BRN</td>
    <td class="tg-0pky">litopenaeus stylirostris</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">blue shrimp</td>
  </tr>
  <tr>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">BRN</td>
    <td class="tg-0pky">penaeus</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">penaeus shrimps nei</td>
  </tr>
  <tr>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">CAN</td>
    <td class="tg-0pky">coregonus artedi</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">lake cisco</td>
  </tr>
  <tr>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">CAN</td>
    <td class="tg-0pky">coregonus clupeaformis</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">lake(=common) whitefish</td>
  </tr>
  <tr>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">CAN</td>
    <td class="tg-0pky">crangonidae</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">natantian decapods nei</td>
  </tr>
   <tr>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">CAN</td>
    <td class="tg-0pky">oncorhynchus</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">pacific salmons nei</td>
  </tr>
  <tr>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">CAN</td>
    <td class="tg-0pky">oncorhynchus mykiss</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">rainbow trout</td>
  </tr>
  <tr>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">CAN</td>
    <td class="tg-0pky">pandalus</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">pandalus shrimps nei</td>
  </tr>
  <tr>
    <td class="tg-0pky">CAN</td>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">salmo salar</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">atlantic salmon</td>
  </tr>
  <tr>
    <td class="tg-0pky">CAN</td>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">salmonidae</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">salmonids</td>
  </tr>
  <tr>
    <td class="tg-0pky">CAN</td>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">salvelinus namaycush</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">lake trout(=char)</td>
  </tr>
  <tr>
    <td class="tg-0pky">BGD</td>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">salmo salar</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">atlantic salmon</td>
  </tr>
  <tr>
    <td class="tg-0pky">BGD</td>
    <td class="tg-0pky">AUS</td>
    <td class="tg-0pky">penaeus</td>
    <td class="tg-0pky">2018</td>
    <td class="tg-0pky">penaeus shrimps nei</td>
  </tr>

Upvotes: 1

Views: 51

Answers (1)

GHStat_UST
GHStat_UST

Reputation: 11

Does this do the job?

data$cn = data$common_name
semi_join(data,data, by = c("importer" = "exporter", "exporter" = "importer", "common_name" = "cn", "cn" = "common_name"))

Upvotes: 1

Related Questions