Hello, I have a data set which has 15568 entries I am trying to calculate adjusted p values using p value via: head(x1g) t P.Value adj.P.Val B fdr 3TXADqtSkhV1IXRHlg 4.468671 3.072189e-05 0.4782784 1.5253151 0.4782784 34lG83aZ6.WLFnge6s 4.217037 7.518696e-05 0.5852553 0.8660534 0.5852553 oS67lguv5HpU4i6Pvg -3.939182 1.959413e-04 0.9994637 0.1600655 0.9994637 Qpc2sX7gp.W5E2rRS4 3.732914 3.900822e-04 0.9994637 -0.3471331 0.9994637 NqsVOy_yos30cOQRSE -3.673551 4.737810e-04 0.9994637 -0.4902001 0.9994637 B3SDpegGjpdxnvU0S0 -3.665765 4.859528e-04 0.9994637 -0.5088638 0.9994637 x1g$fdr=p.adjust(x1g$P.Value,method="BH") the fdr values seem unusually high if I just do it for the first few p values from my x1g data frame:>pval=c(3.072189e-05,7.518696e-05,1.959413e-04,3.900822e-04) > p.adjust(pval,method="BH")[1] 0.0001228876 0.0001503739 0.0002612551 0.0003900822 Can someone please explain what might be the issue. Thanks Ana
Hi Anamarija, In the first calculation you are implicity using n=15568 as the default as the number of p values tested.> p.adjust(pval,method="BH",n=15568)[1] 0.4782784 0.5852553 1.0000000 1.0000000 If all of your t-tests are related, say by testing the location values for each row against a fixed value like zero, then this is an appropriate way to discover whether any differ significantly from your reference value. In general if you only want to test a subset of the rows rather than all, you should have a good reason for doing so. Jim On Wed, Jan 8, 2020 at 9:15 AM Ana Marija <sokovic.anamarija at gmail.com> wrote:> > Hello, > > I have a data set which has 15568 entries > > I am trying to calculate adjusted p values using p value via: > > head(x1g) > > t P.Value > adj.P.Val B fdr > 3TXADqtSkhV1IXRHlg 4.468671 3.072189e-05 0.4782784 1.5253151 0.4782784 > 34lG83aZ6.WLFnge6s 4.217037 7.518696e-05 0.5852553 0.8660534 0.5852553 > oS67lguv5HpU4i6Pvg -3.939182 1.959413e-04 0.9994637 0.1600655 0.9994637 > Qpc2sX7gp.W5E2rRS4 3.732914 3.900822e-04 0.9994637 -0.3471331 0.9994637 > NqsVOy_yos30cOQRSE -3.673551 4.737810e-04 0.9994637 -0.4902001 0.9994637 > B3SDpegGjpdxnvU0S0 -3.665765 4.859528e-04 0.9994637 -0.5088638 0.9994637 > > x1g$fdr=p.adjust(x1g$P.Value,method="BH") > > the fdr values seem unusually high > > if I just do it for the first few p values from my x1g data frame: > >pval=c(3.072189e-05,7.518696e-05,1.959413e-04,3.900822e-04) > > p.adjust(pval,method="BH") > [1] 0.0001228876 0.0001503739 0.0002612551 0.0003900822 > > Can someone please explain what might be the issue. > > Thanks > Ana > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.
When you do x1g$fdr, you adjusted for a total of 15568 tests, so FDR is high for those first four entries. When you do p.adjust(pval,method="BH"), you assumed there were only a total of 4 multiple tests in your experiment, so FDR is low. Ding -----Original Message----- From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Ana Marija Sent: Tuesday, January 07, 2020 2:18 PM To: r-help Subject: [R] adjusted p value, fdr [Attention: This email came from an external source. Do not open attachments or click on links from unknown senders or unexpected emails.] ---------------------------------------------------------------------- Hello, I have a data set which has 15568 entries I am trying to calculate adjusted p values using p value via: head(x1g) t P.Value adj.P.Val B fdr 3TXADqtSkhV1IXRHlg 4.468671 3.072189e-05 0.4782784 1.5253151 0.4782784 34lG83aZ6.WLFnge6s 4.217037 7.518696e-05 0.5852553 0.8660534 0.5852553 oS67lguv5HpU4i6Pvg -3.939182 1.959413e-04 0.9994637 0.1600655 0.9994637 Qpc2sX7gp.W5E2rRS4 3.732914 3.900822e-04 0.9994637 -0.3471331 0.9994637 NqsVOy_yos30cOQRSE -3.673551 4.737810e-04 0.9994637 -0.4902001 0.9994637 B3SDpegGjpdxnvU0S0 -3.665765 4.859528e-04 0.9994637 -0.5088638 0.9994637 x1g$fdr=p.adjust(x1g$P.Value,method="BH") the fdr values seem unusually high if I just do it for the first few p values from my x1g data frame:>pval=c(3.072189e-05,7.518696e-05,1.959413e-04,3.900822e-04)> p.adjust(pval,method="BH")[1] 0.0001228876 0.0001503739 0.0002612551 0.0003900822 Can someone please explain what might be the issue. Thanks Ana ______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see https://urldefense.com/v3/__https://stat.ethz.ch/mailman/listinfo/r-help__;!!Fou38LsQmgU!4bosaaipAoQGBWeAiIEWMDxU4RRjSCsN0DmyN4DzNZK1NSLhh5pdAGPEy5zh$ PLEASE do read the posting guide https://urldefense.com/v3/__http://www.R-project.org/posting-guide.html__;!!Fou38LsQmgU!4bosaaipAoQGBWeAiIEWMDxU4RRjSCsN0DmyN4DzNZK1NSLhh5pdADDOUx9a$ and provide commented, minimal, self-contained, reproducible code. ---------------------------------------------------------------------- ------------------------------------------------------------ -SECURITY/CONFIDENTIALITY WARNING- This message and any attachments are intended solely for the individual or entity to which they are addressed. This communication may contain information that is privileged, confidential, or exempt from disclosure under applicable law (e.g., personal health information, research data, financial information). Because this e-mail has been sent without encryption, individuals other than the intended recipient may be able to view the information, forward it to others or tamper with the information without the knowledge or consent of the sender. If you are not the intended recipient, or the employee or person responsible for delivering the message to the intended recipient, any dissemination, distribution or copying of the communication is strictly prohibited. If you received the communication in error, please notify the sender immediately by replying to this message and deleting the message and any accompanying files from your system. If, due to the security risks, you do not wish to receive further communications via e-mail, please reply to this message and inform the sender that you do not wish to receive further e-mail from the sender. (LCP301)
Thank you so much for this explanation! On Tue, Jan 7, 2020 at 4:37 PM Yuan Chun Ding <ycding at coh.org> wrote:> > When you do x1g$fdr, you adjusted for a total of 15568 tests, so FDR is high for those first four entries. When you do p.adjust(pval,method="BH"), you assumed there were only a total of 4 multiple tests in your experiment, so FDR is low. > > Ding > > -----Original Message----- > From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Ana Marija > Sent: Tuesday, January 07, 2020 2:18 PM > To: r-help > Subject: [R] adjusted p value, fdr > > [Attention: This email came from an external source. Do not open attachments or click on links from unknown senders or unexpected emails.] > > ---------------------------------------------------------------------- > Hello, > > > > I have a data set which has 15568 entries > > > > I am trying to calculate adjusted p values using p value via: > > > > head(x1g) > > > > t P.Value > > adj.P.Val B fdr > > 3TXADqtSkhV1IXRHlg 4.468671 3.072189e-05 0.4782784 1.5253151 0.4782784 > > 34lG83aZ6.WLFnge6s 4.217037 7.518696e-05 0.5852553 0.8660534 0.5852553 > > oS67lguv5HpU4i6Pvg -3.939182 1.959413e-04 0.9994637 0.1600655 0.9994637 > > Qpc2sX7gp.W5E2rRS4 3.732914 3.900822e-04 0.9994637 -0.3471331 0.9994637 > > NqsVOy_yos30cOQRSE -3.673551 4.737810e-04 0.9994637 -0.4902001 0.9994637 > > B3SDpegGjpdxnvU0S0 -3.665765 4.859528e-04 0.9994637 -0.5088638 0.9994637 > > > > x1g$fdr=p.adjust(x1g$P.Value,method="BH") > > > > the fdr values seem unusually high > > > > if I just do it for the first few p values from my x1g data frame: > > >pval=c(3.072189e-05,7.518696e-05,1.959413e-04,3.900822e-04) > > > p.adjust(pval,method="BH") > > [1] 0.0001228876 0.0001503739 0.0002612551 0.0003900822 > > > > Can someone please explain what might be the issue. > > > > Thanks > > Ana > > > > ______________________________________________ > > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > > https://urldefense.com/v3/__https://stat.ethz.ch/mailman/listinfo/r-help__;!!Fou38LsQmgU!4bosaaipAoQGBWeAiIEWMDxU4RRjSCsN0DmyN4DzNZK1NSLhh5pdAGPEy5zh$ > > PLEASE do read the posting guide https://urldefense.com/v3/__http://www.R-project.org/posting-guide.html__;!!Fou38LsQmgU!4bosaaipAoQGBWeAiIEWMDxU4RRjSCsN0DmyN4DzNZK1NSLhh5pdADDOUx9a$ > > and provide commented, minimal, self-contained, reproducible code. > > ---------------------------------------------------------------------- > ------------------------------------------------------------ > -SECURITY/CONFIDENTIALITY WARNING- > > This message and any attachments are intended solely for the individual or entity to which they are addressed. This communication may contain information that is privileged, confidential, or exempt from disclosure under applicable law (e.g., personal health information, research data, financial information). Because this e-mail has been sent without encryption, individuals other than the intended recipient may be able to view the information, forward it to others or tamper with the information without the knowledge or consent of the sender. If you are not the intended recipient, or the employee or person responsible for delivering the message to the intended recipient, any dissemination, distribution or copying of the communication is strictly prohibited. If you received the communication in error, please notify the sender immediately by replying to this message and deleting the message and any accompanying files from your system. If, due to the security risks, you do not wish to receive further communications via e-mail, please reply to this message and inform the sender that you do not wish to receive further e-mail from the sender. (LCP301) > ------------------------------------------------------------