glm.nb function, why do I get 2 different p values using the same variables; summary of multiple varaibles vs single variable? I get two different p values depending on how I type this formula out...
stands<-glm.nb(formula = dta$spr_sum ~ mean_CC + SC_con + SC_dec + SC_shr + mean_con_DBH + mean_dec_DBH + BA_con + BA_dec, data = dta)
summary(stands)  

if I decide I don't want to summarize everything and I only pick one variable, "SC_shr", I get a different p value for the same exact variable (SC_shr) than what was listed in the summary.  WHY?!?!?!
glm.nb(formula=dta$spr_sum ~ dta$SC_shr, data=dta) 

 A: I'll try to expand @mdewey's comment. If an explanatory variable is well correlated with another, its effect is explained by the correlated one. This results in less precise estimates and consequently different pvalues. I believe the keyword to google for is collinearity.
Here's an example. x1 and x2 are correlated with each other ($r = 0.83$) and with the response y. Including both x1 and x2 in the model results in much less precise estimates of their coefficients and their p-values are closer to 1 compared to a model with only x1 or x2:
set.seed(1234)
x1 <- 1:50
x2 <- x1 + rnorm(n= length(x1), sd= 10)
y <- rowMeans(cbind(x1, x2)) + rnorm(n= length(x1), sd= 10)

cor(x1, x2) # 0.83
cor(x1, y)  # 0.81
cor(x2, y)  # 0.79

summary(lm(y ~ x1 + x2))

            Estimate Std. Error t value Pr(>|t|)   
(Intercept)   -1.270      3.018   -0.42   0.6757   
x1             0.639      0.183    3.49   0.0011 **
x2             0.458      0.172    2.66   0.0107 * 

summary(lm(y ~ x1)) # Only x1

            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   -1.940      3.192   -0.61     0.55    
x1             1.042      0.109    9.56  1.1e-12 ***

summary(lm(y ~ x2)) # Only x2

            Estimate Std. Error t value Pr(>|t|)    
(Intercept)    4.571      2.787    1.64     0.11    
x2             0.957      0.107    8.91  9.5e-12 ***
```

