Logistic regression using rms: calculate odds ratio and p-value for specific unit of change

I try to calculate the odds ratios and p-values for continuous and categorical predictors at a specific unit of change (e.g. odds ratio for a change of 10 years, not 1 year) of a multiple logistic regression model.

library:

library(tidyverse)
library(rms)

my test data:

data <- tibble(age=c(50,49,13,20,100,80,25,110,25,25,13,54,23,45,27,87,55,22),
dose=c(400,800,800,200,100,450,400,432,543,3245,654,554,64,356,543,321,356,432),
class=c(0,1,1,0,0,1,0,1,1,1,0,0,0,1,0,1,0,1))

my analysis:

g <- lrm(class ~ age+dose, data=data)

What I tried:

From https://stackoverflow.com/questions/24627237/convert-odds-ratio-of-unit-change-to-whole-range I learned that I could calculate the odds ratio for a specific unit of change with:

#calculate odds ratio of age for a multiple of 10 years (10-units-change)
unit.change=c(10)
exp(coef(g)["age"]*unit.change)

I do not know how to calculate a p-value for this odds ratio now.

print(g)

gives me p-values for the beta coefficients, can I use these p-values?

From https://www.rdocumentation.org/packages/rms/versions/3.1-0/topics/summary.rms I learned that summary.rms calculates inter-quartile range effects. Can I somehow use summary.rms to calculate odds ratios at specific unit of change (and corresponding p-values) for every predictor? (my real data has multiple categorical and continuous predictors...).

• (1) This is not multivariate regression: it's multiple regression. (2) It's unclear what you mean by a "p-value for this odds ratio" (for a ten-year change): could you tell us what hypothesis you are testing and show us how it differs from the usual null hypothesis that the coefficient is zero?
– whuber
Oct 4 '19 at 18:43
• Thank you for your comment. I corrected (1). Regarding (2) I would like to give a p-value for the odds ratio that I calculate from the coefficient, is it the same as for the underlying coefficient? I would like to calculate an odds ratio that reflects not an 1-unit-change but a 10-unit-change for years. Oct 4 '19 at 19:01
• There's no such thing as a p-value for a parameter. P-values relate to hypothesis tests. In order to explain what you're looking for, you need to tell us what you are testing.
– whuber
Oct 4 '19 at 19:09
• The null hypothesis is that the OR is 1 Oct 4 '19 at 19:20
• Isn't that precisely the null hypothesis that is automatically tested by the software output?
– whuber
Oct 4 '19 at 19:23

Yes, the p-value for the effect of a 10-unit change in the covariate (years in this case) is the same as that for the effect of a 1-unit change. Here's the demonstration: the p-value for the original question (effect of a 1-unit change) is $$P(|Z|>\frac{\hat\beta}{\sigma_{\hat\beta}})$$, i.e. the tail area of the Normal distribution beyond the ratio of (estimated change)/(standard error of estimated change). The estimated effect of a 10-unit change in the covariate is $$10\hat\beta$$, but the standard error of this change is $$10\sigma_{\hat\beta}$$; the changes cancel out and we end up with the same p-value as before.