আপনি formulaএবং pasteফাংশনগুলির সংমিশ্রণটিও ব্যবহার করতে পারেন ।
সেটআপ ডেটা : আসুন কল্পনা আমরা data.frame যে predictor ভেরিয়েবল রয়েছে আছে x1করতে x100এবং আমাদের নির্ভরশীল পরিবর্তনশীল y, কিন্তু আরো একটি উত্পাত পরিবর্তনশীল যে asdfasdf। এছাড়াও ভবিষ্যদ্বাণীকারী ভেরিয়েবলগুলি একটি ক্রমে এমনভাবে সাজানো হয় যে সেগুলি সমস্ত ডেটা.ফ্রেমে সংগত নয়।
Data <- data.frame(matrix(rnorm(102 * 200), ncol=102))
names(Data) <- c(paste("x", 1:50, sep=""),
"asdfasdf", "y", paste("x", 51:100, sep=""))
আপনার কাছে ভবিষ্যদ্বাণীকারী ভেরিয়েবলের নাম যুক্ত একটি স্ট্রিং রয়েছে তাও কল্পনা করুন। এই ক্ষেত্রে, এটি সহজেই pasteফাংশনটি ব্যবহার করে তৈরি করা যেতে পারে তবে অন্যান্য পরিস্থিতিতে, grepবা এই স্ট্রিংটি পেতে অন্য কোনও পদ্ধতির ব্যবহার করা যেতে পারে।
PredictorVariables <- paste("x", 1:100, sep="")
পদ্ধতির প্রয়োগ করুন : এরপরে আমরা নীচে নীচে একটি সূত্র তৈরি করতে পারি:
Formula <- formula(paste("y ~ ",
paste(PredictorVariables, collapse=" + ")))
lm(Formula, Data)
collapseযুক্তি টিপে +predictor ভেরিয়েবল মধ্যে
formulaস্ট্রিংটি lmফাংশনের জন্য উপযুক্ত শ্রেণির সূত্রের একটি সামগ্রীতে রূপান্তরিত করে ।
আরও সাধারণভাবে, আমি যখন ভেরিয়েবলের ভেক্টর হিসাবে প্রেডিকটার ভেরিয়েবল সরবরাহ করতে চাই তখন আমি নিয়মিত নিম্নলিখিত ফাংশনটি ব্যবহার করি।
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)
}
যেমন,
regression("y", PredictorVariables, Data)