Here I fit 5 models over a modified version of iris (which I made include a random variable (that therefore you wouldnt expect to improve model fit).
I then assess all the models with AIC criteria, small numbers are better. This correctly identifies that lm4 , the fourth version is optimal in so far as it has the greatest accuracy from the simplest model
modiris <- iris
set.seed(42)
modiris$somerand <- runif(n=150)
lm1 <- lm(Petal.Length ~ Sepal.Length , data=modiris)
lm2 <- lm(Petal.Length ~ Sepal.Length +Sepal.Width , data=modiris)
lm3 <- lm(Petal.Length ~ Sepal.Length +Sepal.Width +Petal.Width, data=modiris)
lm4 <- lm(Petal.Length ~ Sepal.Length +Sepal.Width +Petal.Width + Species, data=modiris)
lm5 <- lm(Petal.Length ~ Sepal.Length +Sepal.Width +Petal.Width + Species + somerand, data=modiris)
lapply(list(lm1,lm2,lm3,lm4,lm5),FUN = AIC)