I need to conduct chi squared tests of association for quite a large amount of data of different characteristics at different sites between 2 years. For example, site 1 has 59 samples from 2019 and 82 samples from 2020. Each sample has a character with a value of either a or b. I have many characters and sites to analyse, so I wrote a function as follows:
library(chisq.posthoc.test)
char.function <- function(a19, a20, b19, b20, site.char) {
site.char <- as.table(rbind(c(a19, a20), c(b19, b20)))
dimnames(site.char) <- list(value = c("a", "b"),
year = c("2019", "2020"))
return(site.char)
x <- chisq.test(site.char)
y <- chisq.posthoc.test(site.char, method = "bonferroni")
z <- chisq.posthoc.test(site.char, method = "fdr")
return(x)
return(y)
return(z)
}
But when I call the function, for example:
char.function(3, 4, 56, 78, char.1)
It only returns the table like this:
year
value 2019 2020
a 3 4
b 56 78
and not the results of the tests. How to I get it to return the results of the tests as well?
Thank you!