आर में अप्लाई(), लैप्पली(), सैप्लाई() और टैपप्लाई() के लिए एक गाइड


यह ट्यूटोरियल प्रत्येक फ़ंक्शन का उपयोग कब और कैसे करना है, इसके उदाहरणों के साथ अंतर्निहित आर फ़ंक्शंस अप्लाई() , सैप्लाई() , लैप्पली() और टैपप्लाई() के बीच अंतर बताता है।

आवेदन करना()

जब आप मैट्रिक्स या डेटा फ्रेम की पंक्तियों या स्तंभों पर कोई फ़ंक्शन लागू करना चाहते हैं तो लागू() फ़ंक्शन का उपयोग करें।

लागू() फ़ंक्शन का मूल सिंटैक्स है:

लागू करें (एक्स, मार्जिन, मज़ा)

  • 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 

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

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