1
R中是否有方法將所有變量添加到符合特定模式的迴歸中?例如,我有一堆的對應於與前綴H_假期在我的數據集的變量和我有其他前綴其他變量,如A_R:迴歸所有符合特定模式的變量
有沒有辦法做這樣的事情:
lm(homicide ~ w_* + a_*, data= df)
R中是否有方法將所有變量添加到符合特定模式的迴歸中?例如,我有一堆的對應於與前綴H_假期在我的數據集的變量和我有其他前綴其他變量,如A_R:迴歸所有符合特定模式的變量
有沒有辦法做這樣的事情:
lm(homicide ~ w_* + a_*, data= df)
要以編程方式構建公式,請看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
一個字符串可以變成一個公式。
data(iris)
fmla <- as.formula(paste("Species ~",
paste(grep("Width", names(iris), value = TRUE), collapse = " + ")))
glm(fmla, data = iris, family = binomial(link = "logit"))