根据R中的对象类型计算方差膨胀因子(VIF)

时间:2017-02-17 16:23:11

标签: r regression r-car

在R中似乎有两种流行的方法来计算VIF(方差膨胀因子,以检测回归中变量之间的共线性):

  1. vif()包中的car函数,其中输入为模型。这需要您首先拟合模型,然后才能检查模型中变量之间的VIF。

  2. corvif()函数,其中输入是实际候选解释变量(即变量列表,甚至在模型拟合之前)。此功能是AED包(Zuur等人,2009)的一部分,已经停止使用。这个似乎只适用于变量列表,而不适用于拟合的回归模型。

  3. 这是一个数据示例:

    MyData<-structure(list(site = structure(c(3L, 1L, 5L, 1L, 2L, 3L, 2L, 
    4L, 1L, 2L, 2L, 3L, 4L, 3L, 2L, 2L, 4L, 1L, 1L, 3L, 3L, 1L, 4L, 
    3L, 1L, 3L, 4L, 5L, 1L, 3L, 1L, 2L, 4L, 2L, 1L, 1L, 5L, 3L, 1L, 
    3L, 4L, 3L, 1L, 4L, 4L, 2L, 5L, 2L, 1L, 4L, 1L, 1L, 1L, 4L, 4L, 
    3L, 5L, 3L, 1L, 3L, 1L, 1L, 3L, 1L, 4L, 5L, 1L, 5L, 1L, 4L, 1L, 
    4L, 1L, 2L, 5L, 2L, 3L, 1L, 5L, 4L, 1L, 1L, 3L, 2L, 1L, 3L, 5L, 
    3L, 3L, 5L, 2L, 1L, 3L, 5L, 4L, 5L, 5L, 1L, 3L, 2L, 5L, 4L, 3L, 
    3L, 2L, 5L, 2L, 1L, 1L, 3L, 3L, 5L, 5L, 5L, 3L, 1L, 1L, 5L, 5L, 
    5L, 2L, 3L, 5L, 1L, 3L, 3L, 4L, 4L, 4L, 5L, 2L, 3L, 1L, 4L, 2L, 
    4L, 3L, 4L, 3L, 3L, 4L, 1L, 3L, 4L, 1L, 4L, 4L, 5L, 4L, 4L, 1L, 
    4L, 1L, 2L, 1L, 2L, 4L, 2L, 4L, 3L, 5L, 1L, 2L, 3L, 1L, 1L, 4L, 
    3L, 1L, 1L, 1L, 4L, 3L, 5L, 4L, 2L, 1L, 4L, 1L, 2L, 1L, 1L, 5L, 
    1L, 5L, 3L, 1L, 5L, 3L, 5L, 3L, 5L, 3L, 1L, 5L, 1L, 1L, 1L, 3L, 
    1L, 4L, 4L, 2L, 5L, 4L, 1L, 3L, 2L, 4L, 5L, 4L, 5L, 5L, 3L, 2L, 
    2L, 4L, 2L, 5L, 4L, 1L, 5L, 5L, 4L, 4L, 3L, 1L, 3L, 4L, 4L, 1L, 
    1L, 1L, 3L, 3L, 1L, 1L, 3L, 4L, 4L, 1L, 5L, 3L, 5L, 5L, 3L, 5L, 
    5L, 1L, 4L, 3L, 1L, 1L, 1L, 1L, 2L, 3L, 1L, 4L, 3L, 3L, 4L, 3L, 
    4L, 3L, 3L, 4L, 1L, 5L, 4L, 3L, 1L, 2L, 2L, 5L, 1L, 3L, 3L, 4L, 
    1L, 4L, 3L, 1L, 2L, 5L, 5L, 4L, 1L, 3L, 4L, 4L, 3L, 5L, 4L, 5L, 
    2L, 5L, 4L, 2L, 5L, 1L, 2L, 4L, 1L, 5L, 3L, 5L, 4L, 1L, 4L, 4L, 
    2L, 3L, 5L, 4L, 3L, 4L, 2L, 1L, 1L, 5L, 3L, 3L, 1L, 3L, 1L, 3L, 
    3L, 5L, 2L, 4L, 3L, 1L, 1L, 4L, 4L, 3L, 3L, 3L, 4L, 5L, 1L, 5L, 
    3L, 3L, 1L, 1L, 3L, 2L, 5L, 1L, 3L, 1L, 5L, 3L, 4L, 4L, 2L, 1L, 
    2L, 4L, 1L, 4L, 4L, 3L, 3L, 5L, 3L, 2L, 2L, 4L, 2L, 1L, 1L, 3L, 
    3L, 4L, 3L, 1L, 4L, 2L, 1L, 2L, 4L, 3L, 4L, 1L, 1L, 4L, 4L, 3L, 
    5L, 1L), .Label = c("R1a", "R1b", "R2", "Za", "Zb"), class = "factor"), 
        species = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
        3L, 4L, 3L, 1L, 4L, 3L, 4L, 1L, 4L, 3L, 3L, 4L, 1L, 1L, 1L, 
        2L, 4L, 1L, 2L, 1L, 3L, 1L, 4L, 3L, 3L, 2L, 2L, 4L, 1L, 1L, 
        3L, 2L, 4L, 3L, 3L, 1L, 3L, 1L, 3L, 1L, 1L, 2L, 1L, 1L, 1L, 
        1L, 1L, 1L, 1L, 3L, 4L, 3L, 3L, 3L, 1L, 1L, 1L, 3L, 1L, 1L, 
        1L, 3L, 1L, 1L, 3L, 2L, 3L, 3L, 2L, 1L, 1L, 1L, 3L, 3L, 3L, 
        1L, 3L, 2L, 1L, 3L, 1L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 3L, 3L, 
        3L, 1L, 1L, 3L, 3L, 3L, 1L, 1L, 1L, 3L, 1L, 1L, 4L, 1L, 1L, 
        1L, 4L, 1L, 1L, 4L, 1L, 1L, 4L, 1L, 1L, 1L, 3L, 3L, 1L, 1L, 
        1L, 4L, 1L, 1L, 1L, 1L, 4L, 3L, 2L, 1L, 3L, 1L, 4L, 4L, 1L, 
        1L, 1L, 1L, 1L, 3L, 1L, 3L, 1L, 1L, 3L, 1L, 3L, 1L, 1L, 3L, 
        3L, 1L, 4L, 1L, 3L, 3L, 1L, 1L, 1L, 3L, 3L, 3L, 1L, 3L, 1L, 
        1L, 3L, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 3L, 4L, 3L, 3L, 1L, 1L, 
        1L, 4L, 1L, 3L, 4L, 1L, 3L, 4L, 3L, 3L, 3L, 3L, 1L, 3L, 2L, 
        3L, 3L, 4L, 3L, 1L, 2L, 1L, 1L, 2L, 3L, 4L, 3L, 1L, 1L, 4L, 
        1L, 1L, 1L, 4L, 1L, 2L, 1L, 1L, 3L, 4L, 4L, 1L, 3L, 1L, 3L, 
        3L, 1L, 3L, 3L, 3L, 1L, 3L, 1L, 3L, 1L, 2L, 3L, 2L, 2L, 1L, 
        1L, 1L, 1L, 1L, 1L, 1L, 3L, 4L, 1L, 1L, 3L, 1L, 1L, 4L, 1L, 
        3L, 3L, 1L, 1L, 1L, 1L, 3L, 1L, 3L, 3L, 2L, 3L, 1L, 3L, 1L, 
        1L, 1L, 3L, 1L, 3L, 1L, 1L, 1L, 1L, 4L, 1L, 1L, 1L, 1L, 1L, 
        1L, 4L, 1L, 3L, 3L, 1L, 1L, 3L, 1L, 3L, 2L, 4L, 1L, 1L, 4L, 
        1L, 1L, 3L, 4L, 1L, 1L, 4L, 2L, 3L, 3L, 1L, 1L, 1L, 3L, 1L, 
        3L, 1L, 3L, 4L, 4L, 1L, 3L, 1L, 3L, 1L, 4L, 1L, 1L, 1L, 4L, 
        1L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 4L, 2L, 3L, 3L, 3L, 1L, 
        3L, 1L, 1L, 4L, 2L, 3L, 1L, 4L, 1L, 1L, 3L, 1L, 4L, 1L, 1L, 
        3L, 1L, 3L, 1L, 1L, 3L, 3L, 1L, 3L, 3L, 1L, 3L, 1L, 1L, 1L, 
        4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("Monogyna", 
        "Other", "Prunus", "Rosa"), class = "factor"), aspect = structure(c(4L, 
        4L, 4L, 4L, 4L, 4L, 4L, 3L, 4L, 4L, 4L, 3L, 3L, 3L, 4L, 4L, 
        3L, 4L, 4L, 4L, 4L, 4L, 3L, 4L, 4L, 2L, 3L, 4L, 4L, 4L, 4L, 
        4L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 2L, 4L, 3L, 3L, 4L, 
        4L, 4L, 4L, 3L, 4L, 4L, 4L, 3L, 3L, 3L, 4L, 4L, 4L, 2L, 4L, 
        4L, 2L, 4L, 1L, 1L, 4L, 4L, 4L, 3L, 4L, 3L, 4L, 4L, 4L, 4L, 
        2L, 4L, 1L, 3L, 4L, 4L, 2L, 4L, 4L, 4L, 4L, 1L, 4L, 1L, 4L, 
        4L, 4L, 1L, 3L, 3L, 1L, 4L, 3L, 4L, 4L, 3L, 4L, 5L, 4L, 4L, 
        4L, 4L, 4L, 3L, 2L, 4L, 2L, 1L, 2L, 4L, 4L, 4L, 4L, 1L, 4L, 
        4L, 1L, 4L, 4L, 4L, 3L, 3L, 3L, 4L, 4L, 2L, 4L, 3L, 4L, 3L, 
        5L, 3L, 2L, 4L, 3L, 4L, 4L, 3L, 4L, 3L, 3L, 4L, 3L, 3L, 4L, 
        3L, 4L, 4L, 4L, 4L, 3L, 4L, 3L, 4L, 1L, 4L, 4L, 4L, 4L, 4L, 
        3L, 3L, 4L, 4L, 4L, 3L, 5L, 4L, 3L, 4L, 4L, 3L, 4L, 4L, 4L, 
        4L, 4L, 4L, 4L, 3L, 4L, 3L, 4L, 1L, 4L, 4L, 3L, 4L, 4L, 4L, 
        4L, 4L, 3L, 4L, 3L, 3L, 4L, 4L, 3L, 4L, 3L, 4L, 3L, 4L, 3L, 
        4L, 4L, 2L, 4L, 4L, 3L, 4L, 1L, 3L, 4L, 4L, 4L, 3L, 3L, 3L, 
        4L, 3L, 3L, 3L, 4L, 4L, 4L, 2L, 5L, 4L, 4L, 3L, 3L, 3L, 4L, 
        4L, 4L, 1L, 4L, 4L, 1L, 4L, 4L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 
        4L, 4L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 3L, 4L, 4L, 3L, 2L, 
        4L, 4L, 4L, 1L, 4L, 3L, 3L, 3L, 4L, 3L, 2L, 4L, 4L, 4L, 4L, 
        3L, 4L, 4L, 3L, 3L, 1L, 4L, 3L, 1L, 4L, 4L, 3L, 4L, 4L, 4L, 
        4L, 3L, 4L, 1L, 4L, 1L, 3L, 4L, 3L, 3L, 4L, 2L, 4L, 3L, 4L, 
        3L, 4L, 4L, 4L, 4L, 4L, 3L, 4L, 4L, 4L, 2L, 3L, 4L, 4L, 3L, 
        2L, 4L, 4L, 3L, 3L, 3L, 2L, 2L, 3L, 3L, 4L, 1L, 4L, 2L, 4L, 
        4L, 4L, 4L, 1L, 4L, 5L, 4L, 4L, 3L, 3L, 3L, 4L, 4L, 4L, 3L, 
        4L, 3L, 3L, 3L, 4L, 3L, 2L, 4L, 4L, 3L, 4L, 4L, 4L, 5L, 1L, 
        3L, 2L, 4L, 3L, 4L, 4L, 4L, 3L, 4L, 3L, 4L, 4L, 3L, 3L, 4L, 
        4L, 4L), .Label = c("East", "Flat", "North", "South", "West"
        ), class = "factor"), height = c(515L, 60L, 60L, 30L, 70L, 
        70L, 40L, 70L, 50L, 75L, 160L, 85L, 40L, 90L, 70L, 210L, 
        30L, 60L, 45L, 60L, 410L, 50L, 40L, 210L, 140L, 120L, 70L, 
        35L, 30L, 90L, 40L, 240L, 40L, 55L, 120L, 200L, 65L, 40L, 
        95L, 140L, 220L, 70L, 40L, 30L, 50L, 95L, 50L, 50L, 50L, 
        70L, 160L, 45L, 35L, 50L, 70L, 230L, 110L, 300L, 50L, 105L, 
        60L, 50L, 60L, 70L, 30L, 60L, 30L, 110L, 80L, 80L, 30L, 60L, 
        70L, 80L, 60L, 40L, 220L, 140L, 110L, 40L, 40L, 40L, 90L, 
        125L, 90L, 100L, 270L, 420L, 60L, 70L, 53L, 40L, 80L, 90L, 
        30L, 40L, 65L, 40L, 110L, 90L, 40L, 190L, 110L, 70L, 52L, 
        120L, 95L, 50L, 50L, 140L, 75L, 30L, 50L, 60L, 125L, 60L, 
        80L, 35L, 55L, 140L, 140L, 240L, 65L, 40L, 200L, 80L, 60L, 
        65L, 120L, 80L, 230L, 150L, 40L, 50L, 60L, 210L, 50L, 130L, 
        140L, 210L, 60L, 50L, 90L, 120L, 55L, 50L, 20L, 50L, 40L, 
        70L, 40L, 100L, 80L, 85L, 60L, 50L, 20L, 200L, 40L, 70L, 
        50L, 200L, 60L, 43L, 30L, 60L, 40L, 70L, 40L, 40L, 40L, 50L, 
        110L, 70L, 30L, 50L, 85L, 70L, 40L, 100L, 40L, 50L, 100L, 
        40L, 70L, 40L, 40L, 50L, 210L, 50L, 140L, 80L, 75L, 90L, 
        40L, 50L, 60L, 50L, 80L, 50L, 60L, 40L, 60L, 170L, 60L, 80L, 
        80L, 15L, 40L, 70L, 45L, 45L, 45L, 110L, 200L, 30L, 60L, 
        40L, 60L, 160L, 40L, 90L, 80L, 30L, 40L, 270L, 50L, 50L, 
        60L, 60L, 50L, 30L, 70L, 170L, 50L, 30L, 50L, 60L, 40L, 60L, 
        60L, 140L, 80L, 80L, 220L, 45L, 80L, 130L, 50L, 40L, 220L, 
        40L, 70L, 60L, 80L, 50L, 200L, 115L, 50L, 90L, 400L, 50L, 
        360L, 40L, 60L, 60L, 65L, 100L, 50L, 55L, 60L, 50L, 130L, 
        40L, 130L, 40L, 40L, 120L, 66L, 55L, 100L, 75L, 60L, 80L, 
        60L, 90L, 160L, 50L, 210L, 35L, 60L, 40L, 55L, 50L, 90L, 
        220L, 60L, 120L, 62L, 60L, 40L, 60L, 70L, 60L, 90L, 50L, 
        50L, 30L, 110L, 70L, 80L, 90L, 210L, 70L, 65L, 160L, 100L, 
        25L, 55L, 40L, 60L, 110L, 70L, 50L, 60L, 70L, 60L, 60L, 170L, 
        45L, 60L, 120L, 40L, 60L, 130L, 40L, 170L, 50L, 80L, 60L, 
        150L, 90L, 60L, 120L, 120L, 80L, 30L, 110L, 230L, 190L, 70L, 
        110L, 50L, 60L, 82L, 60L, 30L, 60L, 200L, 90L, 30L, 140L, 
        60L, 70L, 70L, 100L, 60L, 415L, 115L, 90L, 60L, 60L, 80L, 
        60L, 55L, 90L, 65L, 60L, 40L, 40L, 90L, 50L, 70L, 70L, 120L, 
        40L, 50L, 110L, 45L, 30L, 95L, 30L, 70L), width = c(310L, 
        50L, 40L, 30L, 60L, 70L, 20L, 80L, 70L, 20L, 220L, 40L, 60L, 
        30L, 230L, 110L, 20L, 40L, 25L, 60L, 240L, 90L, 30L, 130L, 
        120L, 110L, 60L, 70L, 30L, 110L, 30L, 180L, 20L, 80L, 110L, 
        310L, 40L, 10L, 80L, 160L, 134L, 30L, 20L, 40L, 20L, 230L, 
        100L, 180L, 40L, 120L, 130L, 30L, 40L, 100L, 30L, 180L, 70L, 
        110L, 170L, 40L, 30L, 50L, 30L, 40L, 30L, 50L, 80L, 50L, 
        80L, 90L, 70L, 70L, 190L, 60L, 50L, 30L, 150L, 150L, 50L, 
        80L, 30L, 40L, 130L, 390L, 60L, 130L, 400L, 200L, 110L, 30L, 
        15L, 300L, 70L, 140L, 30L, 50L, 30L, 40L, 110L, 240L, 50L, 
        90L, 70L, 20L, 40L, 100L, 50L, 30L, 30L, 130L, 40L, 70L, 
        70L, 60L, 10L, 30L, 60L, 50L, 40L, 120L, 90L, 210L, 50L, 
        20L, 100L, 100L, 110L, 100L, 100L, 80L, 120L, 80L, 5L, 40L, 
        50L, 60L, 15L, 100L, 120L, 200L, 30L, 80L, 60L, 70L, 30L, 
        30L, 20L, 50L, 50L, 60L, 15L, 80L, 60L, 130L, 40L, 60L, 30L, 
        100L, 20L, 130L, 60L, 120L, 70L, 20L, 60L, 20L, 40L, 50L, 
        15L, 120L, 60L, 50L, 300L, 40L, 30L, 25L, 70L, 130L, 30L, 
        50L, 60L, 50L, 50L, 50L, 20L, 30L, 70L, 35L, 180L, 40L, 50L, 
        70L, 40L, 70L, 50L, 20L, 40L, 40L, 40L, 40L, 50L, 20L, 30L, 
        180L, 30L, 130L, 30L, 15L, 25L, 50L, 40L, 40L, 40L, 50L, 
        170L, 20L, 50L, 20L, 50L, 110L, 30L, 90L, 15L, 50L, 40L, 
        150L, 30L, 30L, 30L, 20L, 40L, 20L, 100L, 60L, 40L, 30L, 
        30L, 140L, 40L, 50L, 120L, 150L, 100L, 70L, 300L, 30L, 60L, 
        120L, 30L, 50L, 100L, 60L, 90L, 50L, 40L, 140L, 130L, 60L, 
        60L, 70L, 200L, 30L, 40L, 50L, 20L, 20L, 20L, 80L, 35L, 70L, 
        15L, 40L, 360L, 70L, 50L, 50L, 30L, 110L, 30L, 30L, 90L, 
        50L, 30L, 70L, 40L, 110L, 70L, 40L, 150L, 100L, 40L, 40L, 
        40L, 20L, 250L, 180L, 40L, 60L, 20L, 120L, 40L, 50L, 60L, 
        260L, 110L, 30L, 30L, 40L, 100L, 50L, 50L, 100L, 150L, 190L, 
        70L, 110L, 50L, 10L, 40L, 50L, 60L, 80L, 30L, 20L, 150L, 
        70L, 25L, 30L, 40L, 50L, 30L, 50L, 210L, 40L, 100L, 30L, 
        80L, 20L, 30L, 70L, 130L, 60L, 50L, 50L, 70L, 50L, 30L, 150L, 
        130L, 110L, 50L, 40L, 80L, 90L, 40L, 40L, 40L, 40L, 200L, 
        140L, 40L, 25L, 50L, 50L, 40L, 20L, 40L, 340L, 70L, 60L, 
        50L, 20L, 80L, 60L, 25L, 260L, 20L, 15L, 40L, 30L, 300L, 
        120L, 60L, 100L, 50L, 40L, 20L, 90L, 50L, 40L, 80L, 30L, 
        40L), length = c(450L, 80L, 55L, 50L, 90L, 90L, 30L, 90L, 
        90L, 30L, 240L, 50L, 70L, 40L, 380L, 200L, 40L, 40L, 35L, 
        110L, 250L, 120L, 70L, 150L, 130L, 140L, 90L, 90L, 40L, 390L, 
        40L, 190L, 40L, 110L, 140L, 360L, 50L, 30L, 130L, 500L, 200L, 
        30L, 25L, 60L, 30L, 350L, 110L, 180L, 70L, 180L, 200L, 40L, 
        70L, 110L, 70L, 180L, 90L, 150L, 400L, 100L, 60L, 70L, 70L, 
        60L, 30L, 50L, 80L, 180L, 110L, 100L, 110L, 110L, 210L, 80L, 
        70L, 40L, 500L, 210L, 50L, 80L, 40L, 50L, 350L, 400L, 150L, 
        200L, 400L, 280L, 240L, 40L, 50L, 360L, 140L, 140L, 50L, 
        50L, 40L, 50L, 210L, 370L, 70L, 110L, 80L, 50L, 50L, 100L, 
        80L, 50L, 35L, 140L, 60L, 90L, 110L, 60L, 130L, 180L, 70L, 
        70L, 40L, 230L, 130L, 290L, 90L, 40L, 100L, 100L, 120L, 150L, 
        110L, 80L, 220L, 90L, 5L, 50L, 50L, 60L, 30L, 150L, 120L, 
        200L, 60L, 170L, 80L, 90L, 40L, 50L, 70L, 50L, 60L, 100L, 
        15L, 90L, 70L, 150L, 60L, 90L, 50L, 120L, 20L, 220L, 80L, 
        140L, 120L, 30L, 60L, 40L, 40L, 70L, 30L, 180L, 60L, 110L, 
        300L, 50L, 60L, 50L, 110L, 160L, 40L, 70L, 70L, 60L, 70L, 
        50L, 25L, 30L, 215L, 70L, 220L, 70L, 80L, 90L, 60L, 130L, 
        60L, 20L, 60L, 50L, 40L, 60L, 100L, 40L, 70L, 210L, 40L, 
        500L, 40L, 30L, 50L, 80L, 40L, 60L, 80L, 50L, 220L, 20L, 
        70L, 50L, 50L, 180L, 50L, 90L, 15L, 120L, 80L, 170L, 30L, 
        30L, 60L, 20L, 60L, 30L, 140L, 80L, 40L, 50L, 40L, 200L, 
        80L, 80L, 120L, 160L, 210L, 120L, 400L, 60L, 60L, 180L, 70L, 
        70L, 150L, 70L, 110L, 70L, 80L, 250L, 140L, 90L, 60L, 180L, 
        400L, 60L, 50L, 60L, 40L, 30L, 50L, 100L, 40L, 110L, 30L, 
        80L, 400L, 70L, 50L, 80L, 30L, 180L, 70L, 60L, 100L, 70L, 
        50L, 100L, 60L, 220L, 70L, 70L, 200L, 110L, 50L, 110L, 50L, 
        60L, 250L, 220L, 60L, 80L, 35L, 210L, 70L, 70L, 110L, 320L, 
        280L, 60L, 50L, 60L, 100L, 70L, 70L, 170L, 170L, 230L, 80L, 
        130L, 90L, 10L, 60L, 70L, 60L, 120L, 40L, 50L, 160L, 100L, 
        30L, 40L, 40L, 90L, 30L, 80L, 240L, 100L, 170L, 60L, 120L, 
        20L, 40L, 70L, 150L, 80L, 50L, 90L, 130L, 70L, 60L, 480L, 
        150L, 130L, 90L, 70L, 150L, 100L, 70L, 50L, 40L, 60L, 400L, 
        200L, 80L, 30L, 120L, 70L, 50L, 40L, 40L, 360L, 90L, 70L, 
        60L, 40L, 110L, 80L, 25L, 270L, 40L, 25L, 50L, 30L, 320L, 
        150L, 100L, 100L, 60L, 40L, 50L, 100L, 50L, 50L, 200L, 30L, 
        80L), ground = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 
        2L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 
        1L, 2L, 1L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 3L, 1L, 
        2L, 1L, 2L, 1L, 1L, 2L, 2L, 1L, 2L, 1L, 1L, 1L, 2L, 1L, 2L, 
        2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 3L, 
        1L, 2L, 1L, 2L, 1L, 1L, 3L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 1L, 
        1L, 2L, 1L, 1L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 
        1L, 1L, 1L, 2L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 3L, 2L, 
        2L, 1L, 1L, 1L, 2L, 2L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 
        2L, 3L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 3L, 1L, 1L, 2L, 1L, 1L, 
        2L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 
        2L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 2L, 1L, 1L, 2L, 1L, 
        2L, 2L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 2L, 1L, 2L, 1L, 1L, 2L, 
        1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 
        2L, 2L, 2L, 1L, 1L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 
        1L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 
        1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 1L, 1L, 3L, 1L, 3L, 2L, 
        1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 2L, 2L, 
        1L, 1L, 1L, 2L, 1L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
        2L, 1L, 1L, 1L, 2L, 3L, 1L, 2L, 2L, 2L, 1L, 2L, 2L, 1L, 2L, 
        2L, 2L, 2L, 2L, 2L, 1L, 3L, 1L, 1L, 2L, 1L, 2L, 1L, 3L, 2L, 
        2L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 3L, 1L, 1L, 1L, 2L, 1L, 1L, 
        1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 
        1L, 2L, 3L, 1L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 
        2L, 1L, 2L, 2L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 1L, 
        1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 2L, 1L, 2L, 2L, 
        1L, 1L, 2L, 1L, 1L, 3L, 2L, 1L, 3L, 1L), .Label = c("Grass", 
        "GrassRock", "Rock"), class = "factor"), sun = structure(c(3L, 
        1L, 3L, 3L, 3L, 1L, 3L, 3L, 3L, 1L, 1L, 3L, 3L, 1L, 1L, 1L, 
        3L, 3L, 3L, 1L, 3L, 3L, 3L, 1L, 3L, 3L, 1L, 2L, 3L, 1L, 1L, 
        1L, 3L, 3L, 3L, 3L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 
        3L, 1L, 3L, 3L, 1L, 3L, 3L, 1L, 3L, 1L, 3L, 1L, 3L, 1L, 3L, 
        3L, 3L, 1L, 3L, 3L, 3L, 2L, 3L, 3L, 3L, 1L, 1L, 3L, 1L, 3L, 
        3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 3L, 1L, 1L, 3L, 3L, 
        3L, 1L, 1L, 3L, 2L, 1L, 3L, 1L, 3L, 2L, 1L, 1L, 3L, 3L, 1L, 
        3L, 3L, 3L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 2L, 2L, 3L, 3L, 
        3L, 1L, 3L, 1L, 1L, 3L, 3L, 3L, 2L, 1L, 3L, 3L, 1L, 3L, 3L, 
        1L, 3L, 2L, 1L, 3L, 3L, 1L, 3L, 3L, 1L, 3L, 1L, 3L, 3L, 3L, 
        3L, 1L, 1L, 3L, 3L, 3L, 1L, 3L, 3L, 1L, 3L, 1L, 3L, 3L, 1L, 
        1L, 3L, 3L, 3L, 3L, 3L, 1L, 3L, 3L, 1L, 1L, 3L, 3L, 1L, 1L, 
        1L, 3L, 1L, 1L, 1L, 3L, 1L, 1L, 3L, 1L, 2L, 1L, 3L, 1L, 3L, 
        3L, 3L, 1L, 1L, 3L, 3L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
        3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 
        3L, 3L, 3L, 3L, 3L, 3L, 1L, 3L, 3L, 3L, 3L, 1L, 3L, 3L, 3L, 
        3L, 1L, 3L, 3L, 1L, 3L, 1L, 3L, 3L, 1L, 3L, 3L, 1L, 2L, 1L, 
        1L, 1L, 3L, 3L, 1L, 3L, 1L, 3L, 3L, 3L, 2L, 3L, 3L, 3L, 3L, 
        3L, 1L, 3L, 3L, 3L, 1L, 1L, 1L, 3L, 1L, 3L, 3L, 3L, 3L, 3L, 
        3L, 3L, 1L, 3L, 3L, 1L, 1L, 3L, 1L, 1L, 2L, 3L, 3L, 1L, 3L, 
        1L, 1L, 1L, 3L, 1L, 1L, 3L, 3L, 1L, 1L, 1L, 3L, 1L, 1L, 2L, 
        3L, 1L, 3L, 3L, 2L, 1L, 1L, 3L, 2L, 1L, 3L, 3L, 3L, 1L, 3L, 
        3L, 3L, 1L, 3L, 1L, 3L, 3L, 1L, 3L, 3L, 3L, 3L, 3L, 1L, 3L, 
        1L, 3L, 1L, 3L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 3L, 3L, 
        1L, 1L, 3L, 3L, 3L, 3L, 3L, 2L, 1L, 3L, 1L, 1L, 3L, 3L, 1L, 
        3L, 3L, 3L, 3L, 1L, 3L, 3L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 1L, 
        3L, 1L), .Label = c("Half", "Shade", "Sun"), class = "factor"), 
        leaf = structure(c(2L, 2L, 4L, 2L, 2L, 4L, 2L, 2L, 4L, 2L, 
        2L, 2L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 
        2L, 2L, 4L, 2L, 1L, 2L, 1L, 3L, 1L, 1L, 1L, 4L, 4L, 4L, 1L, 
        1L, 4L, 4L, 2L, 2L, 2L, 2L, 2L, 4L, 1L, 1L, 2L, 4L, 2L, 2L, 
        2L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 4L, 4L, 2L, 4L, 2L, 2L, 
        2L, 2L, 2L, 1L, 1L, 2L, 1L, 1L, 4L, 4L, 2L, 2L, 1L, 2L, 2L, 
        1L, 1L, 2L, 2L, 4L, 2L, 2L, 1L, 2L, 4L, 4L, 4L, 2L, 1L, 2L, 
        2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 4L, 2L, 2L, 4L, 1L, 2L, 2L, 
        2L, 2L, 4L, 2L, 1L, 4L, 2L, 4L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 
        2L, 2L, 2L, 2L, 2L, 1L, 2L, 1L, 4L, 1L, 2L, 2L, 1L, 2L, 2L, 
        2L, 2L, 4L, 4L, 1L, 2L, 2L, 2L, 1L, 2L, 2L, 4L, 2L, 2L, 1L, 
        2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 4L, 2L, 2L, 1L, 2L, 4L, 2L, 
        2L, 2L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 4L, 2L, 2L, 2L, 2L, 4L, 
        2L, 2L, 2L, 2L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 4L, 1L, 1L, 2L, 
        2L, 4L, 2L, 4L, 1L, 2L, 2L, 1L, 2L, 2L, 2L, 4L, 2L, 4L, 1L, 
        2L, 4L, 4L, 4L, 2L, 2L, 2L, 4L, 1L, 2L, 4L, 4L, 2L, 1L, 2L, 
        4L, 4L, 1L, 4L, 2L, 2L, 2L, 2L, 4L, 1L, 2L, 1L, 1L, 2L, 2L, 
        2L, 4L, 2L, 2L, 4L, 2L, 1L, 2L, 2L, 2L, 2L, 4L, 2L, 4L, 2L, 
        2L, 2L, 1L, 4L, 4L, 4L, 2L, 2L, 2L, 1L, 4L, 4L, 2L, 2L, 2L, 
        4L, 1L, 2L, 4L, 2L, 1L, 2L, 2L, 2L, 4L, 2L, 2L, 2L, 2L, 2L, 
        2L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 4L, 2L, 2L, 2L, 
        2L, 1L, 2L, 1L, 4L, 2L, 1L, 2L, 4L, 4L, 4L, 4L, 2L, 2L, 2L, 
        2L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 2L, 2L, 4L, 2L, 4L, 
        1L, 2L, 4L, 2L, 2L, 2L, 4L, 1L, 2L, 1L, 2L, 2L, 2L, 4L, 1L, 
        2L, 2L, 2L, 1L, 2L, 4L, 2L, 2L, 2L, 1L, 4L, 4L, 2L, 2L, 2L, 
        4L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 4L, 2L, 2L, 2L, 
        2L, 2L, 4L, 4L, 4L, 2L, 4L, 2L), .Label = c("Large", "Medium", 
        "Scarce", "Small"), class = "factor"), Presence = c(0L, 0L, 
        0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 
        0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 
        1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 
        0L, 1L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 
        0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
        0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 
        0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 
        0L, 1L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 
        0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 
        0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 
        0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 
        1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 1L, 0L, 1L, 0L, 
        0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 
        1L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 1L, 
        0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 
        1L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 
        0L, 0L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 
        0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 
        0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 
        0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 
        0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
        1L, 1L, 1L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 0L, 
        0L, 0L, 0L, 0L, 1L, 1L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 
        0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 
        0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 1L, 0L, 0L, 
        1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 
        0L)), .Names = c("site", "species", "aspect", "height", "width", 
    "length", "ground", "sun", "leaf", "Presence"), row.names = c(NA, 
    393L), class = "data.frame")
    

    选择模型后,这是最佳模型:

    model <- glm(Presence ~ site + species + aspect + length + sun 
                + leaf, data=MyData, family=binomial)
    

    关于上面提到的第一种方法,可以做到以下几点:

    library(car)
    vif(model)
    

    获取基于模型的VIF作为输入。

    但就第二种方式而言,在拟合模型之前,可以查看变量的VIF:

    library(AED) # note that his package has been discontinued
    vars <- cbind(MyData$site, MyData$species,
    MyData$aspect , MyData$length ,
    MyData$width, MyData$height,
    MyData$ground, MyData$sun, MyData$leaf)
    corvif(vars)
    

    corvif()功能代码可在此处找到:http://www.highstat.com/Book2/HighstatLibV6.R

    这两个函数的基础数学似乎是相同的,但是函数的编写方式,它们接受不同类型的对象作为输入。

    我的问题是:

    1. 您更喜欢基于

      计算VIF吗?
      1. 在模型拟合之前的变量列表上,
      2. 在合适的模型上,或
      3. 两个
    2. 人们推荐和/或使用计算VIF的功能(除了已经提到的两个功能之外)还有吗?

    3. 是否有人知道单个R函数同时适用于变量列表拟合模型,如输入?

1 个答案:

答案 0 :(得分:0)

我(自以为是)对这个问题的回答:在模型对象或数据本身上使用vif是否更合适,最好的做法是在将模型构造为在建模之前理解数据内部关系的过程的一部分。但事实是,我认为大部分时间都是因为意外结果(标准错误通常爆炸)而作为事后的想法完成的。

如果你想要一个可以采用适合对象或尺寸数据对象(矩阵或数据框)的函数,那么我认为你可能需要自己推动自己的&#34;。我已经广泛使用了rms / Hmisc对包,并且&#39; rms&#39; -package中还有一个vif以及一个which.influence函数可以让你知道那些组合负责多重共线性。它只接受fit-object。因为处理fit-objects的版本可以同时查看vcov的结果和公式的RHS中的术语,所以您只需要有一个参数。但是,如果要指定要在尺寸标注对象中检查的列,则需要提供函数代码来处理第二个参数。

我搜索过:

 sos::findFn("vif") 

...并且检查了第四页(包中的函数vif&#34; HH&#34;)似乎可以选择使用哪种策略:http://finzi.psych.upenn.edu/R/library/HH/html/vif.html

如果您想编写自己的代码,那么您已经在链接到的页面上以corvifmyvif函数的形式获得了代码。 corvif函数使用myvif函数,该函数基于模型。因此,您可以插入代码以检查methods(vcov)返回的方法向量中是否存在第一个参数的类。