Anda juga dapat menggunakan kombinasi formuladan pastefungsi.
Data Setup : Mari Ini bayangkan kita memiliki data.frame yang berisi variabel prediktor x1untuk x100dan variabel dependen kami y, tapi itu ada juga variabel gangguan asdfasdf. Juga variabel prediktor disusun dalam urutan sedemikian rupa sehingga tidak semua bersebelahan dalam data.frame.
Data <- data.frame(matrix(rnorm(102 * 200), ncol=102))
names(Data) <- c(paste("x", 1:50, sep=""),
"asdfasdf", "y", paste("x", 51:100, sep=""))
Bayangkan juga bahwa Anda memiliki string yang berisi nama-nama variabel prediktor. Dalam hal ini, ini dapat dengan mudah dibuat menggunakan pastefungsi, tetapi dalam situasi lain, grepatau beberapa pendekatan lain mungkin digunakan untuk mendapatkan string ini.
PredictorVariables <- paste("x", 1:100, sep="")
Terapkan pendekatan : Kami kemudian dapat membuat formula sebagai berikut:
Formula <- formula(paste("y ~ ",
paste(PredictorVariables, collapse=" + ")))
lm(Formula, Data)
- yang
collapsemenyisipkan argumen +antara variabel prediktor
formulamengubah string menjadi objek formula kelas yang cocok untuk lmfungsi tersebut.
Lebih umum, saya menggunakan fungsi berikut secara teratur ketika saya ingin menyediakan variabel prediktor sebagai vektor nama variabel.
regression <- function(dv, ivs, data) {
# run a linear model with text arguments for dv and ivs
iv_string <- paste(ivs, collapse=" + ")
regression_formula <- as.formula(paste(dv, iv_string, sep=" ~ "))
lm(regression_formula, data)
}
Misalnya,
regression("y", PredictorVariables, Data)