sql >> Database >  >> RDS >> Mysql

VIF's die alias-coëfficiënten retourneren in R

Gebruik de functie 'alias' in R om te zien welke variabelen lineair afhankelijk zijn. Verwijder de afhankelijke variabelen en de vif-functie zou correct moeten werken.

formula <- as.formula(Spring_Autumn ~ Oct + Nov + Dec + Jan + Feb + Mar + Apr + May + Jun + Jul + Aug + Sep + X1min + X3min +   X7min + X30min + X90min + X1max + X3max + X7max + X30max + X90max + BF + Dmin + Dmax+ LP + LPD + HP + HPD + RR + FR + Rev, data = IHA_stats)
fit <-lm(formula)

#the linearly dependent variables
ld.vars <- attributes(alias(fit)$Complete)$dimnames[[1]]

#remove the linearly dependent variables variables
formula.new <- as.formula(
    paste(
        paste(deparse(formula), collapse=""), 
        paste(ld.vars, collapse="-"),
        sep="-"
    )
)

#run model again
fit.new <-lm(formula.new)
vif(fit.new)

OPMERKING:Dit werkt niet als u automatisch gegenereerde dummyvariabelen hebt die identiek zijn aan andere variabelen. De variabelenamen raken in de war. Je kunt je eigen hack maken om er omheen te komen.




  1. MYSQL-query met variabele als tabelnaam in LEFT JOIN

  2. Hoe de recursieve SELECT-query in MySQL te doen?

  3. mysqli_connect():(HY000/2002):Verbindingstime-out op hosting

  4. SQL:hoe bestel ik op een veld als het niet null is, anders een ander veld gebruiken?