R/stepwise_model_selection.R

Defines functions StepwiseGlmMs

#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# authors: Alireza Hosseini, Reza Hosseini

StepwiseGlmMs = function(df, yCol, predCols, familyStr) {

  model = glm(
      as.formula(paste0(yCol, "~1")), data=df, family=familyStr)

  ## building the maximal model formula
  upperModFormula = as.formula(paste0(
      "~",
      paste0(predCols, collapse="+")))

  stepModel = stepAIC(
      model, direction="both", trace=FALSE, k=4*log(nrow(df)),
      scope=list(
          upper=upperModFormula,
          lower=~1))

  attr(terms(stepModel), "term.labels")

}
Reza1317/funcly documentation built on Feb. 5, 2020, 4:06 a.m.