आर में अप्लाई(), लैप्पली(), सैप्लाई() और टैपप्लाई() के लिए एक गाइड
यह ट्यूटोरियल प्रत्येक फ़ंक्शन का उपयोग कब और कैसे करना है, इसके उदाहरणों के साथ अंतर्निहित आर फ़ंक्शंस अप्लाई() , सैप्लाई() , लैप्पली() और टैपप्लाई() के बीच अंतर बताता है।
आवेदन करना()
जब आप मैट्रिक्स या डेटा फ्रेम की पंक्तियों या स्तंभों पर कोई फ़ंक्शन लागू करना चाहते हैं तो लागू() फ़ंक्शन का उपयोग करें।
लागू() फ़ंक्शन का मूल सिंटैक्स है:
लागू करें (एक्स, मार्जिन, मज़ा)
- X सरणी या डेटा ब्लॉक का नाम है
- मार्जिन इंगित करता है कि किस आयाम पर ऑपरेशन करना है (1 = पंक्ति, 2 = कॉलम)
- FUN वह विशिष्ट ऑपरेशन है जिसे आप करना चाहते हैं (जैसे न्यूनतम, अधिकतम, योग, औसत, आदि)
निम्नलिखित कोड क्रिया में लागू() के कई उदाहरण प्रदर्शित करता है।
#create a data frame with three columns and five rows data <- data.frame(a = c(1, 3, 7, 12, 9), b = c(4, 4, 6, 7, 8), c = c(14, 15, 11, 10, 6)) data #abc #1 1 4 14 #2 3 4 15 #3 7 6 11 #4 12 7 10 #5 9 8 6 #find the sum of each row apply(data, 1, sum) #[1] 19 22 24 29 23 #find the sum of each column apply(data, 2, sum) #abc #32 29 56 #find the mean of each row apply(data, 1, mean) #[1] 6.333333 7.333333 8.000000 9.666667 7.666667 #find the mean of each column, rounded to one decimal place round(apply(data, 2, mean), 1) #abc #6.4 5.8 11.2 #find the standard deviation of each row apply(data, 1, sd) #[1] 6.806859 6.658328 2.645751 2.516611 1.527525 #find the standard deviation of each column apply(data, 2, sd) #abc #4.449719 1.788854 3.563706
आवेदन करना()
जब आप किसी सूची, वेक्टर या डेटा फ़्रेम के प्रत्येक तत्व पर फ़ंक्शन लागू करना चाहते हैं और परिणामस्वरूप एक सूची प्राप्त करना चाहते हैं तो लैप्पली () फ़ंक्शन का उपयोग करें।
लैपली() फ़ंक्शन का मूल सिंटैक्स है:
लैप्पली(एक्स, मज़ा)
- X सूची, वेक्टर या डेटा फ़्रेम का नाम है
- FUN वह विशिष्ट ऑपरेशन है जिसे आप निष्पादित करना चाहते हैं
निम्नलिखित कोड डेटा फ्रेम में कॉलम पर लैपली() का उपयोग करने के कई उदाहरण प्रदर्शित करता है।
#create a data frame with three columns and five rows data <- data.frame(a = c(1, 3, 7, 12, 9), b = c(4, 4, 6, 7, 8), c = c(14, 15, 11, 10, 6)) data #abc #1 1 4 14 #2 3 4 15 #3 7 6 11 #4 12 7 10 #5 9 8 6 #find mean of each column and return results as a list apply(data, mean) #$a # [1] 6.4 # # $b # [1] 5.8 # # $c # [1] 11.2 #multiply values in each column by 2 and return results as a list lapply(data, function(data) data*2) #$a # [1] 2 6 14 24 18 # # $b # [1] 8 8 12 14 16 # # $c # [1] 28 30 22 20 12
हम सूचियों पर संचालन करने के लिए labply() का भी उपयोग कर सकते हैं। निम्नलिखित उदाहरण दिखाते हैं कि यह कैसे करना है।
#create a list x <- list(a=1, b=1:5, c=1:10) x #$a # [1] 1 # # $b # [1] 1 2 3 4 5 # # $c # [1] 1 2 3 4 5 6 7 8 9 10 #find the sum of each element in the list lapply(x, sum) #$a # [1] 1 # # $b # [1] 15 # # $c #[1]55 #find the mean of each element in the list lapply(x, mean) #$a # [1] 1 # # $b # [1] 3 # # $c # [1] 5.5 #multiply values of each element by 5 and return results as a list lapply(x, function(x) x*5) #$a # [1] 5 # # $b # [1] 5 10 15 20 25 # # $c # [1] 5 10 15 20 25 30 35 40 45 50
आवेदन करना()
जब आप किसी सूची, वेक्टर या डेटा फ्रेम के प्रत्येक तत्व पर एक फ़ंक्शन लागू करना चाहते हैं और इस प्रकार सूची के बजाय एक वेक्टर प्राप्त करना चाहते हैं तो sapply() फ़ंक्शन का उपयोग करें।
sapply() फ़ंक्शन का मूल सिंटैक्स है:
लागू करें (एक्स, मज़ा)
- X सूची, वेक्टर या डेटा फ़्रेम का नाम है
- FUN वह विशिष्ट ऑपरेशन है जिसे आप निष्पादित करना चाहते हैं
निम्नलिखित कोड डेटा फ़्रेम में कॉलम पर sapply() का उपयोग करने के कई उदाहरण प्रदर्शित करता है।
#create a data frame with three columns and five rows data <- data.frame(a = c(1, 3, 7, 12, 9), b = c(4, 4, 6, 7, 8), c = c(14, 15, 11, 10, 6)) data #abc #1 1 4 14 #2 3 4 15 #3 7 6 11 #4 12 7 10 #5 9 8 6 #find mean of each column and return results as a vector sapply(data, mean) #abc #6.4 5.8 11.2 #multiply values in each column by 2 and return results as a matrix sapply(data, function(data) data*2) #abc #[1,] 2 8 28 #[2,] 6 8 30 #[3,] 14 12 22 #[4,] 24 14 20 #[5,] 18 16 12
हम सूचियों पर संचालन करने के लिए sapply() का भी उपयोग कर सकते हैं। निम्नलिखित उदाहरण दिखाते हैं कि यह कैसे करना है।
#create a list x <- list(a=1, b=1:5, c=1:10) x #$a # [1] 1 # # $b # [1] 1 2 3 4 5 # # $c # [1] 1 2 3 4 5 6 7 8 9 10 #find the sum of each element in the list sapply(x, sum) #abc #1 15 55 #find the mean of each element in the list sapply(x, mean) #abc #1.0 3.0 5.5
नल()
जब आप किसी फ़ंक्शन को वेक्टर के सबसेट पर लागू करना चाहते हैं तो टैपप्लाई() फ़ंक्शन का उपयोग करें और सबसेट को किसी अन्य वेक्टर, आमतौर पर एक कारक द्वारा परिभाषित किया जाता है।
Tapply() फ़ंक्शन का मूल सिंटैक्स है:
टैप करें (एक्स, इंडेक्स, फन)
- X वस्तु का नाम है, आमतौर पर एक वेक्टर
- सूचकांक एक या अधिक कारकों की एक सूची है
- FUN वह विशिष्ट ऑपरेशन है जिसे आप निष्पादित करना चाहते हैं
निम्नलिखित कोड आईरिस एम्बेडेड आर डेटासेट पर टैपप्लाई() का उपयोग करने का एक उदाहरण दिखाता है।
#view first six lines of iris dataset head(iris) # Sepal.Length Sepal.Width Petal.Length Petal.Width Species #1 5.1 3.5 1.4 0.2 setosa #2 4.9 3.0 1.4 0.2 setosa #3 4.7 3.2 1.3 0.2 setosa #4 4.6 3.1 1.5 0.2 setosa #5 5.0 3.6 1.4 0.2 setosa #6 5.4 3.9 1.7 0.4 setosa #find the max Sepal.Length of each of the three Species tapply(iris$Sepal.Length, iris$Species, max) #setosa versicolor virginica #5.8 7.0 7.9 #find the mean Sepal.Width of each of the three Species tapply(iris$Sepal.Width, iris$Species, mean) # setosa versicolor virginica # 3,428 2,770 2,974 #find the minimum Petal.Width of each of the three Species tapply(iris$Petal.Width, iris$Species, min) # setosa versicolor virginica #0.1 1.0 1.4