Timeline for R - Performing Multiple t-tests (one per row of dataframe) and Correcting for Multiple Testing
Current License: CC BY-SA 4.0
9 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Jun 27, 2020 at 21:20 | comment | added | BruceET | Helps if your question states your objective clearly. Relying on undocumented, uncommented R code is not always the best explanation. | |
Jun 27, 2020 at 21:14 | comment | added | Zuhaib Ahmed | Thank you for your input. This isn't really meant to be a thorough statistical analysis. I'm more using it for mining purposes. So I'm thinking just a simple multiple t-test should give some genes of interest. Then I can filter out the less interesting ones through other means. I appreciate your thorough response! | |
Jun 27, 2020 at 17:33 | comment | added | BruceET | Finally, with 20 observations in each of 5 groups you have a 90% chance of detecting differences in gene expression that are about 1.3 times the standard deviation of the population (which you have set at 1 in your simulation). So if not all of the means are 0 (as in your simulation), then genes with "something going on" at the $1.3\sigma$ level will likely show up in your massive screening of 20000 genes. Seems best to focus first on genes of interest for theoretical reasons, but a massive undirected screen as you propose may not be as futile as some assume. | |
Jun 27, 2020 at 17:08 | comment | added | BruceET | You'd have about 1000 potentially interesting genes. If diff btw A and B is of special interest, maybe look at ad hoc 'contrast' to make that comparison. Maybe follow up first on the ones signif diff btw A and B. Maybe next datasets on those genes will confirm effect to be real. Otherwise, although, P-value isn't everything, it may be an indication which genes are of real interest. No one would blame you for looking first at genes with lowest P-values. Or for using any other reasonable criterion for deciding which of the potential 1000 should be first for additional investigation. | |
Jun 27, 2020 at 16:42 | comment | added | BruceET | Thanks for the update. Then for each row (gene) it might be best to do a one-way ANOVA and if significant make ad hoc comparisons within A, within B, between A and B. Within each gene, you'd need to use Bonferroni or some other method to protect against false discovery. Each gene can be considered separately. But you'd need to be aware that 5% of genes will show bogus effects. I would handle that by looking again carefully at 'significant' genes with several datasets on each. (Also, Bonferroni protection for 20,000 genes would have you working at level $.05/20000,$ which seems impractical.) | |
Jun 27, 2020 at 15:18 | comment | added | Zuhaib Ahmed | I'm sorry for not explaining clearer. My situation is that in my dataframe, each row represents a gene, and each column represents some property of that gene. So each gene has 5 properties. Three of them belong to one group and two of them to another group. What I'd like to do is go through each row (i.e. gene) and see if there's a difference between the two groups. And I'd like to determine which genes have this difference, by looking at the p-value. | |
Jun 27, 2020 at 7:17 | history | edited | BruceET | CC BY-SA 4.0 |
added 19 characters in body
|
Jun 27, 2020 at 7:08 | history | edited | BruceET | CC BY-SA 4.0 |
added 19 characters in body
|
Jun 27, 2020 at 6:59 | history | answered | BruceET | CC BY-SA 4.0 |