mirror of
				https://github.com/msberends/AMR.git
				synced 2025-10-31 00:08:24 +01:00 
			
		
		
		
	(v3.0.0.9009) fix as.sir when uti = FALSE
This commit is contained in:
		| @@ -1,5 +1,5 @@ | |||||||
| Package: AMR | Package: AMR | ||||||
| Version: 3.0.0.9008 | Version: 3.0.0.9009 | ||||||
| Date: 2025-07-17 | Date: 2025-07-17 | ||||||
| Title: Antimicrobial Resistance Data Analysis | Title: Antimicrobial Resistance Data Analysis | ||||||
| Description: Functions to simplify and standardise antimicrobial resistance (AMR) | Description: Functions to simplify and standardise antimicrobial resistance (AMR) | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								NEWS.md
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								NEWS.md
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| # AMR 3.0.0.9008 | # AMR 3.0.0.9009 | ||||||
|  |  | ||||||
| This is primarily a bugfix release, though we added one nice feature too. | This is primarily a bugfix release, though we added one nice feature too. | ||||||
|  |  | ||||||
| @@ -13,6 +13,7 @@ This is primarily a bugfix release, though we added one nice feature too. | |||||||
| * Fixed a bug in `as.ab()` for antimicrobial codes with a number in it if they are preceded by a space | * Fixed a bug in `as.ab()` for antimicrobial codes with a number in it if they are preceded by a space | ||||||
| * Fixed a bug in `eucast_rules()` for using specific custom rules | * Fixed a bug in `eucast_rules()` for using specific custom rules | ||||||
| * Fixed a bug in `as.sir()` to allow any tidyselect language (#220) | * Fixed a bug in `as.sir()` to allow any tidyselect language (#220) | ||||||
|  | * Fixed a bug in `as.sir()` to pick right breakpoint when `uti = FALSE` (#216) | ||||||
| * Fixed a bug in `ggplot_sir()` when using `combine_SI = FALSE` (#213) | * Fixed a bug in `ggplot_sir()` when using `combine_SI = FALSE` (#213) | ||||||
| * Fixed all plotting to contain a separate colour for SDD (susceptible dose-dependent) | * Fixed all plotting to contain a separate colour for SDD (susceptible dose-dependent) | ||||||
| * Fixed some specific Dutch translations for antimicrobials | * Fixed some specific Dutch translations for antimicrobials | ||||||
|   | |||||||
							
								
								
									
										33
									
								
								R/sir.R
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								R/sir.R
									
									
									
									
									
								
							| @@ -1656,26 +1656,23 @@ as_sir_method <- function(method_short, | |||||||
|       next |       next | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     # sort on host and taxonomic rank |     # if the user explicitly set uti, keep only those rows | ||||||
|     # (this will e.g. prefer 'species' breakpoints over 'order' breakpoints) |     if (!is.na(uti_current)) { | ||||||
|     if (is.na(uti_current)) { |       breakpoints_current <- breakpoints_current[breakpoints_current$uti == uti_current, , drop = FALSE] | ||||||
|       breakpoints_current <- breakpoints_current %pm>% |  | ||||||
|         #  `uti` is a column in the data set |  | ||||||
|         # this will put UTI = FALSE first, then UTI = NA, then UTI = TRUE |  | ||||||
|         pm_mutate(uti_index = ifelse(!is.na(uti) & uti == FALSE, 1, |  | ||||||
|           ifelse(is.na(uti), 2, |  | ||||||
|             3 |  | ||||||
|           ) |  | ||||||
|         )) %pm>% |  | ||||||
|         # be as specific as possible (i.e. prefer species over genus): |  | ||||||
|         pm_arrange(rank_index, uti_index) |  | ||||||
|     } else if (uti_current == TRUE) { |  | ||||||
|       breakpoints_current <- breakpoints_current %pm>% |  | ||||||
|         subset(uti == TRUE) %pm>% |  | ||||||
|         # be as specific as possible (i.e. prefer species over genus): |  | ||||||
|         pm_arrange(rank_index) |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     # build a helper factor so FALSE < NA < TRUE | ||||||
|  |     uti_index <- factor( | ||||||
|  |       ifelse(is.na(breakpoints_current$uti), "NA", | ||||||
|  |         as.character(breakpoints_current$uti) | ||||||
|  |       ), | ||||||
|  |       levels = c("FALSE", "NA", "TRUE") | ||||||
|  |     ) | ||||||
|  |  | ||||||
|  |     # sort on host and taxonomic rank first, then by UTI | ||||||
|  |     # (this will e.g. prefer 'species' breakpoints over 'order' breakpoints) | ||||||
|  |     breakpoints_current <- breakpoints_current[order(breakpoints_current$rank_index, uti_index), , drop = FALSE] | ||||||
|  |  | ||||||
|     # throw messages for different body sites |     # throw messages for different body sites | ||||||
|     site <- breakpoints_current[1L, "site", drop = FALSE] # this is the one we'll take |     site <- breakpoints_current[1L, "site", drop = FALSE] # this is the one we'll take | ||||||
|     if (is.na(site)) { |     if (is.na(site)) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user