mirror of
https://github.com/msberends/AMR.git
synced 2025-07-08 20:02:04 +02:00
(v0.8.0.9030) depend on tidyr >= 1.0.0
This commit is contained in:
@ -385,9 +385,10 @@ data_1st %>%
|
||||
summarise("1. Amoxi/clav" = susceptibility(AMC),
|
||||
"2. Gentamicin" = susceptibility(GEN),
|
||||
"3. Amoxi/clav + genta" = susceptibility(AMC, GEN)) %>%
|
||||
tidyr::gather("antibiotic", "S", -genus) %>%
|
||||
# pivot_longer() from the tidyr package "lengthens" data:
|
||||
tidyr::pivot_longer(-genus, names_to = "antibiotic") %>%
|
||||
ggplot(aes(x = genus,
|
||||
y = S,
|
||||
y = value,
|
||||
fill = antibiotic)) +
|
||||
geom_col(position = "dodge2")
|
||||
```
|
||||
@ -463,14 +464,19 @@ The next example uses the included `example_isolates`, which is an anonymised da
|
||||
We will compare the resistance to fosfomycin (column `FOS`) in hospital A and D. The input for the `fisher.test()` can be retrieved with a transformation like this:
|
||||
|
||||
```{r, results = 'markup'}
|
||||
# use package 'tidyr' to pivot data;
|
||||
# it gets installed with this 'AMR' package
|
||||
library(tidyr)
|
||||
|
||||
check_FOS <- example_isolates %>%
|
||||
filter(hospital_id %in% c("A", "D")) %>% # filter on only hospitals A and D
|
||||
select(hospital_id, FOS) %>% # select the hospitals and fosfomycin
|
||||
group_by(hospital_id) %>% # group on the hospitals
|
||||
count_df(combine_SI = TRUE) %>% # count all isolates per group (hospital_id)
|
||||
tidyr::spread(hospital_id, value) %>% # transform output so A and D are columns
|
||||
select(A, D) %>% # and select these only
|
||||
as.matrix() # transform to good old matrix for fisher.test()
|
||||
pivot_wider(names_from = hospital_id, # transform output so A and D are columns
|
||||
values_from = value) %>%
|
||||
select(A, D) %>% # and only select these columns
|
||||
as.matrix() # transform to a good old matrix for fisher.test()
|
||||
|
||||
check_FOS
|
||||
```
|
||||
@ -482,4 +488,4 @@ We can apply the test now with:
|
||||
fisher.test(check_FOS)
|
||||
```
|
||||
|
||||
As can be seen, the p value is `r round(fisher.test(check_FOS)$p.value, 3)`, which means that the fosfomycin resistances found in hospital A and D are really different.
|
||||
As can be seen, the p value is `r round(fisher.test(check_FOS)$p.value, 3)`, which means that the fosfomycin resistance found in hospital A and D are really different.
|
||||
|
@ -39,7 +39,7 @@ As said, SPSS is easier to learn than R. But SPSS, SAS and Stata come with major
|
||||
|
||||
* **R is extremely flexible.**
|
||||
|
||||
Because you write the syntax yourself, you can do anything you want. The flexibility in transforming, gathering, grouping and summarising data, or drawing plots, is endless - with SPSS, SAS or Stata you are bound to their algorithms and format styles. They may be a bit flexible, but you can probably never create that very specific publication-ready plot without using other (paid) software. If you sometimes write syntaxes in SPSS to run a complete analysis or to 'automate' some of your work, you could do this a lot less time in R. You will notice that writing syntaxes in R is a lot more nifty and clever than in SPSS. Still, as working with any statistical package, you will have to have knowledge about what you are doing (statistically) and what you are willing to accomplish.
|
||||
Because you write the syntax yourself, you can do anything you want. The flexibility in transforming, arranging, grouping and summarising data, or drawing plots, is endless - with SPSS, SAS or Stata you are bound to their algorithms and format styles. They may be a bit flexible, but you can probably never create that very specific publication-ready plot without using other (paid) software. If you sometimes write syntaxes in SPSS to run a complete analysis or to 'automate' some of your work, you could do this a lot less time in R. You will notice that writing syntaxes in R is a lot more nifty and clever than in SPSS. Still, as working with any statistical package, you will have to have knowledge about what you are doing (statistically) and what you are willing to accomplish.
|
||||
|
||||
* **R can be easily automated.**
|
||||
|
||||
|
Reference in New Issue
Block a user