Ayrıca formulave pasteişlevlerinin bir birleşimini kullanabilirsiniz .
Kurulum verileri : Let biz belirleyicisi değişkenleri içeren bir data.frame var hayal var x1etmek x100ve bizim bağımlı değişken y, aynı zamanda bir sıkıntı değişken olduğunu asdfasdf. Ayrıca, yordayıcı değişkenleri, data.frame dosyasında bitişik olmayacak şekilde düzenlenir.
Data <- data.frame(matrix(rnorm(102 * 200), ncol=102))
names(Data) <- c(paste("x", 1:50, sep=""),
"asdfasdf", "y", paste("x", 51:100, sep=""))
Ayrıca, tahmin değişkenlerinin adlarını içeren bir dize bulunduğunu hayal edin. Bu durumda, bu pasteişlev kullanılarak kolayca oluşturulabilir , ancak diğer durumlarda grepveya bu dizeyi almak için başka bir yaklaşım kullanılabilir.
PredictorVariables <- paste("x", 1:100, sep="")
Yaklaşım uygulayın : Daha sonra aşağıdaki gibi bir formül oluşturabiliriz:
Formula <- formula(paste("y ~ ",
paste(PredictorVariables, collapse=" + ")))
lm(Formula, Data)
collapsebağımsız değişken uçlar +belirleyici değişkenler arasında
formuladizeyi lmişlev için uygun bir sınıf formül nesnesine dönüştürür .
Daha genel olarak, bir yordayıcı değişkenlerini değişken isimlerinin vektörü olarak vermek istediğimde, aşağıdaki işlevi oldukça düzenli kullanıyorum.
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)
}
Örneğin,
regression("y", PredictorVariables, Data)