आर में नेस्टेड फॉर लूप कैसे बनाएं (उदाहरण सहित)


लूप के लिए नेस्टेड आपको कई वैक्टर (या मैट्रिक्स के कई आयाम) में तत्वों पर पुनरावृत्ति करने और कुछ ऑपरेशन करने की अनुमति देता है।

R में लूप के लिए मूल संरचना है:

 for (i in 1:4) {
  print (i)
}

[1] 1
[1] 2
[1] 3
[1] 4

और नेस्टेड फॉर लूप की मूल संरचना है:

 for (i in 1:4) {
  for (j in 1:2) {
    print (i*j)
  }
}

[1] 1
[1] 2
[1] 2
[1] 4
[1] 3
[1] 6
[1] 4
[1] 8

यह ट्यूटोरियल आर में नेस्टेड फॉर लूप बनाने के कुछ उदाहरण दिखाता है।

उदाहरण 1: आर में नेस्टेड फॉर लूप

निम्नलिखित कोड दिखाता है कि 4×4 मैट्रिक्स के मानों को भरने के लिए नेस्टेड फॉर लूप का उपयोग कैसे करें:

 #create matrix
empty_mat <- matrix(nrow= 4 , ncol= 4 )

#view empty matrix
empty_mat
     [,1] [,2] [,3] [,4]
[1,] NA NA NA NA
[2,] NA NA NA NA
[3,] NA NA NA NA
[4,] NA NA NA NA

#use nested for loop to fill in values of matrix
for (i in 1:4) {
  for (j in 1:4) {
    empty_mat[i, j] = (i*j)
  }
}

#view matrix
empty_mat

     [,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 2 4 6 8
[3,] 3 6 9 12
[4,] 4 8 12 16

उदाहरण 2: आर में नेस्टेड फॉर लूप

निम्नलिखित कोड दिखाता है कि डेटा फ्रेम में प्रत्येक मान को वर्गित करने के लिए नेस्टेड फॉर लूप का उपयोग कैसे करें:

 #create empty data frame
df <- data.frame(var1=c(1, 7, 4),
                 var2=c(9, 13, 15))

#view empty data frame
df

  var1 var2
1 1 9
2 7 13
3 4 15

#use nested for loop to square each value in the data frame
for (i in 1:nrow(df)) {
  for (j in 1:ncol(df)) {
    df[i, j] = df[i, j]^2
  }
}

#view new data frame
df

  var1 var2
1 1 81
2 49 169
3 16 225

लूपिंग पर एक नोट

सामान्य तौर पर, नेस्टेड फॉर लूप छोटे डेटा सेट या मैट्रिसेस पर अच्छा काम करते हैं, लेकिन बड़े डेटा के साथ वे काफी धीमे होते हैं।

बड़े डेटा के लिए, फ़ंक्शंस का एप्लिकेशन परिवार बहुत तेज़ होता है, और डेटा.टेबल पैकेज में कई अंतर्निहित फ़ंक्शन होते हैं जो बड़े डेटा सेट पर कुशलता से काम करते हैं।

अतिरिक्त संसाधन

आर में कॉलम नामों पर पुनरावृति कैसे करें
R में डेटा फ़्रेम में पंक्तियाँ कैसे जोड़ें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *