Find alternative products for all products containing certain active substances
Source:R/alternatives.R
alternative_products.Rd
This function searches for uses of a given list of active substances and reports either a table of uses with the number of available alternative products for each use, a detailed table of the alternative product uses, a table of uses without alternatives, or a list containing these three tables.
Usage
alternative_products(
srppp,
active_ingredients,
details = FALSE,
missing = FALSE,
list = FALSE,
lang = c("de", "fr", "it"),
resolve_cultures = TRUE
)
Arguments
- srppp
A srppp_dm object.
- active_ingredients
Character vector of active ingredient names that will be matched against the column 'substances_de' in the srppp table 'substances'.
- details
Should a table of alternative uses with 'wNbr' and 'use_nr' be returned?
- missing
If this is set to TRUE, uses without alternative product registrations are listed.
- list
If TRUE, a list of three tables is returned, a table of uses without alternative products ("Lückenindikationen"), a table of the number of alternative products for each use, if any, and a detailed table of all the alternative uses. This argument overrides the arguments 'details' and 'missing'.
- lang
The language used for the active ingredient names and the returned tables.
- resolve_cultures
Logical. Specifies whether to resolve culture levels to their most specific hierarchical level (leaf nodes) using a parent-child relationship dataset derived from a culture tree.
If
TRUE
(default), the function maps culture levels to their corresponding leaf nodes. This enables precise identification of alternative products at the most specific culture level. This resolves the problem that products are sometimes authorised for different cultural groups. This means that actual "Lückenindikationen" can be identified.If
FALSE
, the function retains the original culture levels without hierarchical resolution. This option is useful when the original structure of the culture data needs to be preserved. Note: This argument is only applicable when the language is set to German (de
). For other languages, theresolve_cultures
functionality is not implemented and must be set toFALSE
.
Value
A tibble::tibble containing use definitions as defined above, i.e. containing columns with the application area, crop and pathogen. Depending on the arguments, columns summarizing or listing the alternative products and/or uses are also contained.
Details
A use is defined here as a combination of an application area, a crop ('culture') and a pathogen ('pest'). This means, that for an alternative product to be found, there has to be an exact match of application area, crop an pathogen.
Examples
# \donttest{
sr <- srppp_dm()
# Examples with two active substances
actives_de <- c("Lambda-Cyhalothrin", "Deltamethrin")
alternative_products(sr, actives_de)
#> # A tibble: 925 × 5
#> application_area_de culture_de pest_de n_wNbr n_pNbr
#> <chr> <chr> <chr> <int> <int>
#> 1 Beerenbau Erdbeere Erdbeer- oder Himbeerblütenst… 17 7
#> 2 Beerenbau Erdbeere Thripse 37 21
#> 3 Beerenbau Himbeere Erdbeer- oder Himbeerblütenst… 12 3
#> 4 Beerenbau Himbeere Himbeerkäfer 12 3
#> 5 Feldbau Ackerbohne Erdraupen 5 4
#> 6 Feldbau Eiweisserbse Erbsenblattrandkäfer 0 0
#> 7 Feldbau Eiweisserbse Erbsenwickler 4 1
#> 8 Feldbau Eiweisserbse Erdraupen 5 4
#> 9 Feldbau Emmer Erdraupen 5 4
#> 10 Feldbau Emmer Gelbe Getreidehalmfliege 5 4
#> # ℹ 915 more rows
alternative_products(sr, actives_de, resolve_cultures = FALSE)
#> # A tibble: 446 × 5
#> application_area_de culture_de pest_de n_wNbr n_pNbr
#> <chr> <chr> <chr> <int> <int>
#> 1 Beerenbau Erdbeere Erdbeer- oder Himb… 17 7
#> 2 Beerenbau Erdbeere Thripse 32 16
#> 3 Beerenbau Himbeere Erdbeer- oder Himb… 12 3
#> 4 Beerenbau Himbeere Himbeerkäfer 12 3
#> 5 Feldbau Ackerbohne Erdraupen 5 4
#> 6 Feldbau Eiweisserbse Erbsenblattrandkäf… 0 0
#> 7 Feldbau Eiweisserbse Erbsenwickler 4 1
#> 8 Feldbau Eiweisserbse Erdraupen 5 4
#> 9 Feldbau Futter- und Zuckerrüben Blattläuse (Röhren… 6 2
#> 10 Feldbau Futter- und Zuckerrüben Erdraupen 5 4
#> # ℹ 436 more rows
alternative_products(sr, actives_de, missing = TRUE)
#> # A tibble: 110 × 3
#> application_area_de culture_de pest_de
#> <chr> <chr> <chr>
#> 1 Feldbau Eiweisserbse Erbsenblattrandkäfer
#> 2 Feldbau Futterrübe Rübenfliege
#> 3 Feldbau Zuckerrübe Rübenfliege
#> 4 Feldbau Lagerhallen, Mühlen, Silogebäude Vorratsschädlinge
#> 5 Feldbau Mais Fritfliege
#> 6 Feldbau Sojabohne Distelfalter
#> 7 Gemüsebau Asia-Salate (Brassicaceae) Kohldrehherzgallmücke
#> 8 Gemüsebau Asia-Salate (Brassicaceae) Kohlschabe
#> 9 Gemüsebau Baby-Leaf (Asteraceae) Minierfliegen
#> 10 Gemüsebau Baby-Leaf (Brassicaceae) Kohldrehherzgallmücke
#> # ℹ 100 more rows
alternative_products(sr, actives_de, details = TRUE)
#> # A tibble: 31,761 × 6
#> application_area_de culture_de pest_de pNbr wNbr use_nr
#> <chr> <chr> <chr> <int> <chr> <int>
#> 1 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 4426 4343 17
#> 2 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 4568 4491 12
#> 3 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 4568 4491… 12
#> 4 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 7036 6020 37
#> 5 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 7036 6020… 37
#> 6 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 7036 6020… 37
#> 7 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 8464 7133 7
#> 8 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 8464 7133… 7
#> 9 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 8464 7133… 7
#> 10 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 8464 7133… 7
#> # ℹ 31,751 more rows
alternative_products(sr, actives_de, list = TRUE)
#> $`No alternative`
#> # A tibble: 110 × 3
#> application_area_de culture_de pest_de
#> <chr> <chr> <chr>
#> 1 Feldbau Eiweisserbse Erbsenblattrandkäfer
#> 2 Feldbau Futterrübe Rübenfliege
#> 3 Feldbau Zuckerrübe Rübenfliege
#> 4 Feldbau Lagerhallen, Mühlen, Silogebäude Vorratsschädlinge
#> 5 Feldbau Mais Fritfliege
#> 6 Feldbau Sojabohne Distelfalter
#> 7 Gemüsebau Asia-Salate (Brassicaceae) Kohldrehherzgallmücke
#> 8 Gemüsebau Asia-Salate (Brassicaceae) Kohlschabe
#> 9 Gemüsebau Baby-Leaf (Asteraceae) Minierfliegen
#> 10 Gemüsebau Baby-Leaf (Brassicaceae) Kohldrehherzgallmücke
#> # ℹ 100 more rows
#>
#> $`Number of alternatives`
#> # A tibble: 925 × 5
#> application_area_de culture_de pest_de n_wNbr n_pNbr
#> <chr> <chr> <chr> <int> <int>
#> 1 Beerenbau Erdbeere Erdbeer- oder Himbeerblütenst… 17 7
#> 2 Beerenbau Erdbeere Thripse 37 21
#> 3 Beerenbau Himbeere Erdbeer- oder Himbeerblütenst… 12 3
#> 4 Beerenbau Himbeere Himbeerkäfer 12 3
#> 5 Feldbau Ackerbohne Erdraupen 5 4
#> 6 Feldbau Eiweisserbse Erbsenblattrandkäfer 0 0
#> 7 Feldbau Eiweisserbse Erbsenwickler 4 1
#> 8 Feldbau Eiweisserbse Erdraupen 5 4
#> 9 Feldbau Emmer Erdraupen 5 4
#> 10 Feldbau Emmer Gelbe Getreidehalmfliege 5 4
#> # ℹ 915 more rows
#>
#> $`Alternative uses`
#> # A tibble: 31,761 × 6
#> application_area_de culture_de pest_de pNbr wNbr use_nr
#> <chr> <chr> <chr> <int> <chr> <int>
#> 1 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 4426 4343 17
#> 2 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 4568 4491 12
#> 3 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 4568 4491… 12
#> 4 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 7036 6020 37
#> 5 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 7036 6020… 37
#> 6 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 7036 6020… 37
#> 7 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 8464 7133 7
#> 8 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 8464 7133… 7
#> 9 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 8464 7133… 7
#> 10 Beerenbau Erdbeere Erdbeer- oder Himbeerblüte… 8464 7133… 7
#> # ℹ 31,751 more rows
#>
# Examples resolving cultures
actives_de <- c("Spinetoram")
alternative_products(sr, actives_de, resolve_cultures = FALSE, list = TRUE)
#> $`No alternative`
#> # A tibble: 1 × 3
#> application_area_de culture_de pest_de
#> <chr> <chr> <chr>
#> 1 Obstbau Kernobst Eulenraupen (blattfressend)
#>
#> $`Number of alternatives`
#> # A tibble: 5 × 5
#> application_area_de culture_de pest_de n_wNbr n_pNbr
#> <chr> <chr> <chr> <int> <int>
#> 1 Obstbau Birne / Nashi Birnblattsauger 35 22
#> 2 Obstbau Kernobst Apfelwickler 14 11
#> 3 Obstbau Kernobst Eulenraupen (blattfressend) 0 0
#> 4 Obstbau Kernobst Frostspanner 36 16
#> 5 Obstbau Kernobst Schalenwickler 16 9
#>
#> $`Alternative uses`
#> # A tibble: 106 × 6
#> application_area_de culture_de pest_de pNbr wNbr use_nr
#> <chr> <chr> <chr> <int> <chr> <int>
#> 1 Obstbau Birne / Nashi Birnblattsauger 7051 6098 18
#> 2 Obstbau Birne / Nashi Birnblattsauger 7051 6098-1 18
#> 3 Obstbau Birne / Nashi Birnblattsauger 7051 6098-2 18
#> 4 Obstbau Birne / Nashi Birnblattsauger 7169 6148 1
#> 5 Obstbau Birne / Nashi Birnblattsauger 7291 6107 1
#> 6 Obstbau Birne / Nashi Birnblattsauger 7291 6107-1 1
#> 7 Obstbau Birne / Nashi Birnblattsauger 7291 6107-2 1
#> 8 Obstbau Birne / Nashi Birnblattsauger 7441 6382 20
#> 9 Obstbau Birne / Nashi Birnblattsauger 7511 6432 22
#> 10 Obstbau Birne / Nashi Birnblattsauger 7511 6432-1 22
#> # ℹ 96 more rows
#>
alternative_products(sr, actives_de, resolve_cultures = TRUE, list = TRUE)
#> $`No alternative`
#> # A tibble: 3 × 3
#> application_area_de culture_de pest_de
#> <chr> <chr> <chr>
#> 1 Obstbau Apfel Eulenraupen (blattfressend)
#> 2 Obstbau Quitte Eulenraupen (blattfressend)
#> 3 Obstbau Birne Eulenraupen (blattfressend)
#>
#> $`Number of alternatives`
#> # A tibble: 13 × 5
#> application_area_de culture_de pest_de n_wNbr n_pNbr
#> <chr> <chr> <chr> <int> <int>
#> 1 Obstbau Apfel Apfelwickler 38 25
#> 2 Obstbau Apfel Eulenraupen (blattfressend) 0 0
#> 3 Obstbau Apfel Frostspanner 59 26
#> 4 Obstbau Apfel Schalenwickler 25 13
#> 5 Obstbau Birne Apfelwickler 37 24
#> 6 Obstbau Birne Birnblattsauger 36 23
#> 7 Obstbau Birne Eulenraupen (blattfressend) 0 0
#> 8 Obstbau Birne Frostspanner 59 26
#> 9 Obstbau Birne Schalenwickler 25 13
#> 10 Obstbau Quitte Apfelwickler 28 20
#> 11 Obstbau Quitte Eulenraupen (blattfressend) 0 0
#> 12 Obstbau Quitte Frostspanner 52 24
#> 13 Obstbau Quitte Schalenwickler 18 11
#>
#> $`Alternative uses`
#> # A tibble: 399 × 6
#> application_area_de culture_de pest_de pNbr wNbr use_nr
#> <chr> <chr> <chr> <int> <chr> <int>
#> 1 Obstbau Birne Birnblattsauger 7051 6098 18
#> 2 Obstbau Birne Birnblattsauger 7051 6098-1 18
#> 3 Obstbau Birne Birnblattsauger 7051 6098-2 18
#> 4 Obstbau Birne Birnblattsauger 7169 6148 1
#> 5 Obstbau Birne Birnblattsauger 7291 6107 1
#> 6 Obstbau Birne Birnblattsauger 7291 6107-1 1
#> 7 Obstbau Birne Birnblattsauger 7291 6107-2 1
#> 8 Obstbau Birne Birnblattsauger 7441 6382 20
#> 9 Obstbau Birne Birnblattsauger 7511 6432 22
#> 10 Obstbau Birne Birnblattsauger 7511 6432-1 22
#> # ℹ 389 more rows
#>
actives_de <- c("Schalenwicklergranulose-Virus")
alternative_products(sr, actives_de, resolve_cultures = FALSE, list = TRUE)
#> $`No alternative`
#> # A tibble: 0 × 3
#> # ℹ 3 variables: application_area_de <chr>, culture_de <chr>, pest_de <chr>
#>
#> $`Number of alternatives`
#> # A tibble: 1 × 5
#> application_area_de culture_de pest_de n_wNbr n_pNbr
#> <chr> <chr> <chr> <int> <int>
#> 1 Obstbau Obstbau allg. Schalenwickler 1 1
#>
#> $`Alternative uses`
#> # A tibble: 1 × 6
#> application_area_de culture_de pest_de pNbr wNbr use_nr
#> <chr> <chr> <chr> <int> <chr> <int>
#> 1 Obstbau Obstbau allg. Schalenwickler 7545 6362 1
#>
alternative_products(sr, actives_de, resolve_cultures = TRUE, list = TRUE)
#> $`No alternative`
#> # A tibble: 0 × 3
#> # ℹ 3 variables: application_area_de <chr>, culture_de <chr>, pest_de <chr>
#>
#> $`Number of alternatives`
#> # A tibble: 10 × 5
#> application_area_de culture_de pest_de n_wNbr n_pNbr
#> <chr> <chr> <chr> <int> <int>
#> 1 Obstbau Apfel Schalenwickler 25 13
#> 2 Obstbau Aprikose Schalenwickler 13 9
#> 3 Obstbau Birne Schalenwickler 25 13
#> 4 Obstbau Kirsche Schalenwickler 20 11
#> 5 Obstbau Olive Schalenwickler 1 1
#> 6 Obstbau Pfirsich / Nektarine Schalenwickler 13 9
#> 7 Obstbau Pflaume Schalenwickler 20 11
#> 8 Obstbau Quitte Schalenwickler 18 11
#> 9 Obstbau Walnuss Schalenwickler 3 3
#> 10 Obstbau Zwetschge Schalenwickler 20 11
#>
#> $`Alternative uses`
#> # A tibble: 179 × 6
#> application_area_de culture_de pest_de pNbr wNbr use_nr
#> <chr> <chr> <chr> <int> <chr> <int>
#> 1 Obstbau Olive Schalenwickler 7545 6362 1
#> 2 Obstbau Apfel Schalenwickler 7036 6020 57
#> 3 Obstbau Apfel Schalenwickler 7036 6020 58
#> 4 Obstbau Apfel Schalenwickler 7036 6020-1 57
#> 5 Obstbau Apfel Schalenwickler 7036 6020-1 58
#> 6 Obstbau Apfel Schalenwickler 7036 6020-2 57
#> 7 Obstbau Apfel Schalenwickler 7036 6020-2 58
#> 8 Obstbau Apfel Schalenwickler 7074 6144 2
#> 9 Obstbau Apfel Schalenwickler 7545 6362 1
#> 10 Obstbau Apfel Schalenwickler 7808 6748 1
#> # ℹ 169 more rows
#>
actives_de <- c("Emamectinbenzoat")
alternative_products(sr, actives_de, resolve_cultures = FALSE, list = TRUE)
#> $`No alternative`
#> # A tibble: 13 × 3
#> application_area_de culture_de pest_de
#> <chr> <chr> <chr>
#> 1 Feldbau Eiweisserbse Eulenraupen (blattfressend)
#> 2 Gemüsebau Blattkohle Eulenraupen (blattfressend)
#> 3 Gemüsebau Blattkohle Kohlschabe
#> 4 Gemüsebau Blattkohle Weisslinge
#> 5 Gemüsebau Blumenkohle Eulenraupen (blattfressend)
#> 6 Gemüsebau Blumenkohle Kohlschabe
#> 7 Gemüsebau Blumenkohle Weisslinge
#> 8 Gemüsebau Rosenkohl Eulenraupen (blattfressend)
#> 9 Gemüsebau Rosenkohl Kohlschabe
#> 10 Gemüsebau Rosenkohl Weisslinge
#> 11 Obstbau Aprikose Pfirsichmotte
#> 12 Obstbau Aprikose Pfirsichwickler
#> 13 Obstbau Pfirsich / Nektarine Pfirsichmotte
#>
#> $`Number of alternatives`
#> # A tibble: 30 × 5
#> application_area_de culture_de pest_de n_wNbr n_pNbr
#> <chr> <chr> <chr> <int> <int>
#> 1 Feldbau Eiweisserbse Erbsenwickler 13 7
#> 2 Feldbau Eiweisserbse Eulenraupen (blattfressend) 0 0
#> 3 Gemüsebau Blattkohle Eulenraupen (blattfressend) 0 0
#> 4 Gemüsebau Blattkohle Kohlschabe 0 0
#> 5 Gemüsebau Blattkohle Weisslinge 0 0
#> 6 Gemüsebau Blumenkohle Eulenraupen (blattfressend) 0 0
#> 7 Gemüsebau Blumenkohle Kohlschabe 0 0
#> 8 Gemüsebau Blumenkohle Weisslinge 0 0
#> 9 Gemüsebau Kopfkohle Eulenraupen (blattfressend) 3 2
#> 10 Gemüsebau Kopfkohle Kohlschabe 3 2
#> # ℹ 20 more rows
#>
#> $`Alternative uses`
#> # A tibble: 203 × 6
#> application_area_de culture_de pest_de pNbr wNbr use_nr
#> <chr> <chr> <chr> <int> <chr> <int>
#> 1 Feldbau Eiweisserbse Erbsenwickler 7051 6098 38
#> 2 Feldbau Eiweisserbse Erbsenwickler 7051 6098-1 38
#> 3 Feldbau Eiweisserbse Erbsenwickler 7051 6098-2 38
#> 4 Feldbau Eiweisserbse Erbsenwickler 7441 6382 14
#> 5 Feldbau Eiweisserbse Erbsenwickler 7522 6381 13
#> 6 Feldbau Eiweisserbse Erbsenwickler 7522 6381-1 13
#> 7 Feldbau Eiweisserbse Erbsenwickler 8580 6998 19
#> 8 Feldbau Eiweisserbse Erbsenwickler 8711 7226 3
#> 9 Feldbau Eiweisserbse Erbsenwickler 9326 7410 1
#> 10 Feldbau Eiweisserbse Erbsenwickler 9326 7410-1 1
#> # ℹ 193 more rows
#>
alternative_products(sr, actives_de, resolve_cultures = TRUE, list = TRUE)
#> $`No alternative`
#> # A tibble: 3 × 3
#> application_area_de culture_de pest_de
#> <chr> <chr> <chr>
#> 1 Feldbau Eiweisserbse Eulenraupen (blattfressend)
#> 2 Obstbau Aprikose Pfirsichmotte
#> 3 Obstbau Pfirsich / Nektarine Pfirsichmotte
#>
#> $`Number of alternatives`
#> # A tibble: 66 × 5
#> application_area_de culture_de pest_de n_wNbr n_pNbr
#> <chr> <chr> <chr> <int> <int>
#> 1 Feldbau Eiweisserbse Erbsenwickler 13 7
#> 2 Feldbau Eiweisserbse Eulenraupen (blattfressend) 0 0
#> 3 Gemüsebau Blumenkohl Eulenraupen (blattfressend) 55 28
#> 4 Gemüsebau Blumenkohl Kohlschabe 49 24
#> 5 Gemüsebau Blumenkohl Weisslinge 69 30
#> 6 Gemüsebau Broccoli Eulenraupen (blattfressend) 55 28
#> 7 Gemüsebau Broccoli Kohlschabe 49 24
#> 8 Gemüsebau Broccoli Weisslinge 69 30
#> 9 Gemüsebau Cherrytomaten Tomatenminiermotte 23 10
#> 10 Gemüsebau Chinakohl Eulenraupen (blattfressend) 55 28
#> # ℹ 56 more rows
#>
#> $`Alternative uses`
#> # A tibble: 2,465 × 6
#> application_area_de culture_de pest_de pNbr wNbr use_nr
#> <chr> <chr> <chr> <int> <chr> <int>
#> 1 Feldbau Eiweisserbse Erbsenwickler 7051 6098 38
#> 2 Feldbau Eiweisserbse Erbsenwickler 7051 6098-1 38
#> 3 Feldbau Eiweisserbse Erbsenwickler 7051 6098-2 38
#> 4 Feldbau Eiweisserbse Erbsenwickler 7441 6382 14
#> 5 Feldbau Eiweisserbse Erbsenwickler 7522 6381 13
#> 6 Feldbau Eiweisserbse Erbsenwickler 7522 6381-1 13
#> 7 Feldbau Eiweisserbse Erbsenwickler 8580 6998 19
#> 8 Feldbau Eiweisserbse Erbsenwickler 8711 7226 3
#> 9 Feldbau Eiweisserbse Erbsenwickler 9326 7410 1
#> 10 Feldbau Eiweisserbse Erbsenwickler 9326 7410-1 1
#> # ℹ 2,455 more rows
#>
# Example in Italian
actives_it <- c("Lambda-Cialotrina", "Deltametrina")
alternative_products(sr, actives_it, lang = "it", resolve_cultures = FALSE)
#> # A tibble: 446 × 5
#> application_area_it culture_it pest_it n_wNbr n_pNbr
#> <chr> <chr> <chr> <int> <int>
#> 1 Campicoltura Barbabietola da foraggio Altich… 0 0
#> 2 Campicoltura Barbabietola da foraggio Nottue… 0 0
#> 3 Campicoltura Barbabietola da zucchero Altich… 0 0
#> 4 Campicoltura Barbabietola da zucchero Nottue… 0 0
#> 5 Campicoltura Barbabietole da foraggio e da zucc… Afidi 6 2
#> 6 Campicoltura Barbabietole da foraggio e da zucc… Altich… 5 4
#> 7 Campicoltura Barbabietole da foraggio e da zucc… Mosca … 0 0
#> 8 Campicoltura Barbabietole da foraggio e da zucc… Nottue… 5 4
#> 9 Campicoltura Barbabietole da foraggio e da zucc… tignol… 2 2
#> 10 Campicoltura Cartamo Nottue… 5 4
#> # ℹ 436 more rows
# }