Kirsten Morehouse
2017-Jul-12 14:53 UTC
[R] How to make a figure plotting p-values by range of different adjustment values?
Hi all, Thank you for taking the time to read my message. I'm trying to make a figure that plots p-values by a range of different adjustment values. (Using the **logit** function in package **car**) My Statistical analyses were conducted on probability estimates ranging from 0% to 100%. As it's not ideal to run linear models on percentages that are bounded between 0 and 1, these estimates were logit transformed. However, this introduces a researcher degree of freedom. In Package **Car**, the logit transformation code is logit(p = doc$value, adjust = 0.025) logit definition/Description Compute the logit transformation of proportions or percentages. Usage logit(p, percents=range.p[2] > 1, adjust) Arguments p a numeric vector or array of proportions or percentages. percents TRUE for percentages. adjust adjustment factor to avoid proportions of 0 or 1; defaults to 0 if there are no such proportions in the data, and to .025 if there are.) I chose the default adjustment factor of .025, but I need to determine at what point my values are greater than .05 to show I did not choose an ajustment value that makes my results significant. Ultimately, I want to find the range of adjustment factors do we get P < 0.05?And at what point do we get P > 0.05? ## The final product I'm looking for is a figure with the following features: ## 1) Adjustment factor on the x-axis ## 2) P value on the y-axis Does anyone know how to do this? Thank you so much in advance. [[alternative HTML version deleted]]
Jim Lemon
2017-Jul-13 00:49 UTC
[R] How to make a figure plotting p-values by range of different adjustment values?
Hi Kirsten, Perhaps this will help: set.seed(3) kmdf<-data.frame(group=rep(1:4,each=20), prop=c(runif(20,0.25,1),runif(20,0.2,0.92), runif(20,0.15,0.84),runif(20,0.1,0.77))) km.glm<-glm(prop~group,kmdf,family=quasibinomial(link="logit")) summary(km.glm) pval<-0.00845 padjs<-NA npadj<-1 # assume you have five comparisons in this family for(method in p.adjust.methods) { padjs[npadj]<-p.adjust(pval,method=method,n=5) npadj<-npadj+1 } plot(padjs,xaxt="n",main="P plot",xlab="Method",ylab="adjusted p values") abline(h=0.05,col="lightgray") library(plotrix) staxlab(1,at=1:8,labels=p.adjust.methods) Jim On Thu, Jul 13, 2017 at 12:53 AM, Kirsten Morehouse <kmoreho1 at swarthmore.edu> wrote:> Hi all, > > Thank you for taking the time to read my message. I'm trying to make a > figure that plots p-values by a range of different adjustment values. > > (Using the **logit** function in package **car**) > > My Statistical analyses were conducted on probability estimates ranging > from 0% to 100%. As it's not ideal to run linear models on percentages that > are bounded between 0 and 1, these estimates were logit transformed. > > However, this introduces a researcher degree of freedom. In Package > **Car**, the logit transformation code is > > logit(p = doc$value, adjust = 0.025) > > logit definition/Description > > Compute the logit transformation of proportions or percentages. > > Usage > > logit(p, percents=range.p[2] > 1, adjust) > > Arguments > > p a numeric vector or array of proportions or percentages. > percents TRUE for percentages. > adjust adjustment factor to avoid proportions of 0 or 1; defaults to > 0 if there are no such proportions in the data, and to .025 if there are.) > > I chose the default adjustment factor of .025, but I need to determine at > what point my values are greater than .05 to show I did not choose an > ajustment value that makes my results significant. > > Ultimately, I want to find the range of adjustment factors do we get P < > 0.05?And at what point do we get P > 0.05? > > ## The final product I'm looking for is a figure with the following > features: > ## 1) Adjustment factor on the x-axis > ## 2) P value on the y-axis > > Does anyone know how to do this? Thank you so much in advance. > > [[alternative HTML version deleted]] > > ______________________________________________ > 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.
Kirsten Morehouse
2017-Jul-13 14:52 UTC
[R] How to make a figure plotting p-values by range of different adjustment values?
Hi Jim, Thanks for your help, I really appreciate it. Perhaps I'm misunderstanding, but does this formula run different ajustment values for this function? logit(p = doc$value, adjust = 0.025) I'm looking to plot the p-values of different adjustment values. Thanks so much, Kirsten On Wed, Jul 12, 2017 at 8:49 PM, Jim Lemon <drjimlemon at gmail.com> wrote:> Hi Kirsten, > Perhaps this will help: > > set.seed(3) > kmdf<-data.frame(group=rep(1:4,each=20), > prop=c(runif(20,0.25,1),runif(20,0.2,0.92), > runif(20,0.15,0.84),runif(20,0.1,0.77))) > km.glm<-glm(prop~group,kmdf,family=quasibinomial(link="logit")) > summary(km.glm) > pval<-0.00845 > padjs<-NA > npadj<-1 > # assume you have five comparisons in this family > for(method in p.adjust.methods) { > padjs[npadj]<-p.adjust(pval,method=method,n=5) > npadj<-npadj+1 > } > plot(padjs,xaxt="n",main="P plot",xlab="Method",ylab="adjusted p values") > abline(h=0.05,col="lightgray") > library(plotrix) > staxlab(1,at=1:8,labels=p.adjust.methods) > > Jim > > > On Thu, Jul 13, 2017 at 12:53 AM, Kirsten Morehouse > <kmoreho1 at swarthmore.edu> wrote: > > Hi all, > > > > Thank you for taking the time to read my message. I'm trying to make a > > figure that plots p-values by a range of different adjustment values. > > > > (Using the **logit** function in package **car**) > > > > My Statistical analyses were conducted on probability estimates ranging > > from 0% to 100%. As it's not ideal to run linear models on percentages > that > > are bounded between 0 and 1, these estimates were logit transformed. > > > > However, this introduces a researcher degree of freedom. In Package > > **Car**, the logit transformation code is > > > > logit(p = doc$value, adjust = 0.025) > > > > logit definition/Description > > > > Compute the logit transformation of proportions or percentages. > > > > Usage > > > > logit(p, percents=range.p[2] > 1, adjust) > > > > Arguments > > > > p a numeric vector or array of proportions or percentages. > > percents TRUE for percentages. > > adjust adjustment factor to avoid proportions of 0 or 1; defaults > to > > 0 if there are no such proportions in the data, and to .025 if there > are.) > > > > I chose the default adjustment factor of .025, but I need to determine at > > what point my values are greater than .05 to show I did not choose an > > ajustment value that makes my results significant. > > > > Ultimately, I want to find the range of adjustment factors do we get P < > > 0.05?And at what point do we get P > 0.05? > > > > ## The final product I'm looking for is a figure with the following > > features: > > ## 1) Adjustment factor on the x-axis > > ## 2) P value on the y-axis > > > > Does anyone know how to do this? Thank you so much in advance. > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > 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. >[[alternative HTML version deleted]]