So this is the head of my data,
thickness grains resistivity
1 25.1 14.9 0.0270
2 368.4 58.1 0.0267
3 540.4 77.3 0.0160
4 712.1 95.6 0.0105
5 883.7 113.0 0.0090
6 1055.7 130.0 0.0247
And I want to find AIC and BIC for three different models involving thickness and grains.
AIC(lm(formula = resistivity ~ (1/thickness), data=z)) #142.194
BIC(lm(formula = resistivity ~ (1/thickness), data=z)) #142.9898
AIC(lm(formula = resistivity ~ (1/grains), data=z)) #142.194
BIC(lm(formula = resistivity ~ (1/grains), data=z)) #142.9898
AIC(lm(formula = resistivity ~ (1/thickness) + (1/grains), data=z)) #142.194
BIC(lm(formula = resistivity ~ (1/thickness) + (1/grains), data=z)) #142.9898
I've commented the output beside each, why are they all the same?
You get the same AIC & BIC because the models are all the same. You are just getting a constant, the mean value of resistivity.
lm(formula = resistivity ~ (1/thickness), data = z)
Coefficients:
(Intercept)
0.01898
The problem is that if you want a computation like 1/thickness in your formula, you must indicate that in your formula by enclosing the calculation in I()
. This is described in help(formula)
. What you want is
lm(formula = resistivity ~ I(1/thickness), data=z)
lm(formula = resistivity ~ I(1/grains), data=z)
lm(formula = resistivity ~ I(1/thickness) + I(1/grains), data=z)