2015-11-30 64 views
1

R中是否有方法將所有變量添加到符合特定模式的迴歸中?例如,我有一堆的對應於與前綴H_假期在我的數據集的變量和我有其他前綴其他變量,如A_R:迴歸所有符合特定模式的變量

有沒有辦法做這樣的事情:

lm(homicide ~ w_* + a_*, data= df) 

回答

4

要以編程方式構建公式,請看reformulate()

下面是使用grep()查找以"d"開頭的所有變量,然後使用reformulate()將它們作爲公式對象的RHS中的迴歸變量插入的示例。

vv <- grep("^d.*", names(mtcars), value=TRUE) 
ff <- reformulate(termlabels=vv, response="mpg") 
lm(ff, data=mtcars) 
# 
# Call: 
# lm(formula = ff, data = mtcars) 
# 
# Coefficients: 
# (Intercept)   disp   drat 
# 21.84488  -0.03569  1.80203 
0

一個字符串可以變成一個公式。

data(iris) 

fmla <- as.formula(paste("Species ~", 
       paste(grep("Width", names(iris), value = TRUE), collapse = " + "))) 

glm(fmla, data = iris, family = binomial(link = "logit")) 
相關問題