लूप के लिए बहुत मूल्यवान है जब हमें तत्वों की एक सूची या संख्याओं की संख्या पर पुनरावृति करने की आवश्यकता होती है। किसी सूची, डेटा फ़्रेम, वेक्टर, मैट्रिक्स या किसी अन्य ऑब्जेक्ट पर पुनरावृति करने के लिए लूप का उपयोग किया जा सकता है। ब्रेसिज़ और वर्ग ब्रैकेट अनिवार्य हैं।
इस ट्यूटोरियल में हम सीखेंगे,
- लूप सिंटेक्स और उदाहरणों के लिए
- एक सूची में लूप के लिए
- मैट्रिक्स पर लूप के लिए
लूप सिंटेक्स और उदाहरणों के लिए
For (i in vector) {Exp}
यहाँ,
R वेक्टर के सभी चरों पर लूप करेगा और एक्सपी के अंदर लिखी गई गणना करेगा।
आइए कुछ उदाहरण देखें।
उदाहरण 1 : हम एक वेक्टर के सभी तत्वों पर पुनरावृति करते हैं और वर्तमान मूल्य को प्रिंट करते हैं।
# Create fruit vectorfruit <- c('Apple', 'Orange', 'Passion fruit', 'Banana')# Create the for statementfor ( i in fruit){print(i)}
आउटपुट:
## [1] "Apple"## [1] "Orange"## [1] "Passion fruit"## [1] "Banana"
उदाहरण 2 : 1 और 4 के बीच x के बहुपद का उपयोग करके एक गैर-रैखिक फ़ंक्शन बनाता है और हम इसे एक सूची में संग्रहीत करते हैं
# Create an empty listlist <- c()# Create a for statement to populate the listfor (i in seq(1, 4, by=1)) {list[[i]] <- i*i}print(list)
आउटपुट:
## [1] 1 4 9 16
मशीन सीखने के कार्यों के लिए लूप बहुत मूल्यवान है। हमने एक मॉडल को प्रशिक्षित करने के बाद, ओवर-फिटिंग से बचने के लिए हमें मॉडल को नियमित करने की आवश्यकता है। नियमितीकरण एक बहुत थकाऊ काम है क्योंकि हमें उस मूल्य को खोजने की आवश्यकता है जो हानि फ़ंक्शन को कम करता है। उन मूल्यों का पता लगाने में हमारी मदद करने के लिए, हम मूल्यों की एक सीमा से अधिक पुनरावृति करने के लिए लूप का उपयोग कर सकते हैं और सर्वश्रेष्ठ उम्मीदवार को परिभाषित कर सकते हैं।
एक सूची में लूप के लिए
एक सूची में लूपिंग एक वेक्टर पर लूपिंग जितना आसान और सुविधाजनक है। एक उदाहरण देखते हैं
# Create a list with three vectorsfruit <- list(Basket = c('Apple', 'Orange', 'Passion fruit', 'Banana'),Money = c(10, 12, 15), purchase = FALSE)for (p in fruit){print(p)}
आउटपुट:
## [1] "Apple" "Orange" "Passion fruit" "Banana"## [1] 10 12 15## [1] FALSE
मैट्रिक्स पर लूप के लिए
एक मैट्रिक्स में 2-आयाम, पंक्तियाँ और स्तंभ होते हैं। एक मैट्रिक्स पर पुनरावृत्ति करने के लिए, हमें लूप के लिए दो को परिभाषित करना होगा, एक पंक्तियों के लिए और दूसरा स्तंभ के लिए।
# Create a matrixmat <- matrix(data = seq(10, 20, by=1), nrow = 6, ncol =2)# Create the loop with r and c to iterate over the matrixfor (r in 1:nrow(mat))for (c in 1:ncol(mat))print(paste("Row", r, "and column",c, "have values of", mat[r,c]))
आउटपुट:
## [1] "Row 1 and column 1 have values of 10"## [1] "Row 1 and column 2 have values of 16"## [1] "Row 2 and column 1 have values of 11"## [1] "Row 2 and column 2 have values of 17"## [1] "Row 3 and column 1 have values of 12"## [1] "Row 3 and column 2 have values of 18"## [1] "Row 4 and column 1 have values of 13"## [1] "Row 4 and column 2 have values of 19"## [1] "Row 5 and column 1 have values of 14"## [1] "Row 5 and column 2 have values of 20"## [1] "Row 6 and column 1 have values of 15"## [1] "Row 6 and column 2 have values of 10"