खोज…


टिप्पणियों

R में लगभग सभी ऑपरेटर वास्तव में फ़ंक्शन हैं। उदाहरण के लिए, + एक फंक्शन है जिसे function (e1, e2) .Primitive("+") रूप में परिभाषित किया जाता है। function (e1, e2) .Primitive("+") जहां e1 ऑपरेटर के बाएं हाथ की ओर होता है और e2 ऑपरेटर का राइट-हैंड होता है। इसका मतलब यह है कि उपयोगकर्ता द्वारा परिभाषित फ़ंक्शन के साथ + को आधार पर मास्किंग करके प्रभाव को पूरा करना संभव है।

उदाहरण के लिए:

`+` <- function(e1, e2) {e1-e2}

> 3+10
[1] -7

रेंज और जोड़

मान को एक श्रेणी में जोड़ने का एक उदाहरण लेते हैं (जैसा कि उदाहरण के लिए लूप में किया जा सकता है):

3+1:5

देता है:

[1] 4 5 6 7 8

इसका कारण यह है कि रेंज ऑपरेटर : में अतिरिक्त ऑपरेटर की तुलना में अधिक पूर्वता है +

मूल्यांकन के दौरान क्या होता है:

  • 3+1:5
  • पूर्णांक का वेक्टर बनाने के लिए रेंज ऑपरेटर का 3+c(1, 2, 3, 4, 5) विस्तार।
  • c(4, 5, 6, 7, 8) वेक्टर के प्रत्येक सदस्य के लिए 3 का जोड़।

इस व्यवहार से बचने के लिए आपको R दुभाषिया को बताना होगा कि आप कैसे चाहते हैं कि आप इस तरह से ( ) साथ संचालन का आदेश दें:

  (3+1):5

अब R यह गणना करेगा कि सीमा का विस्तार करने और देने से पहले कोष्ठकों के अंदर क्या है:

 [1] 4 5

जोड़ और घटाव

मूल गणित संचालन मुख्य रूप से संख्याओं पर या वैक्टर (संख्याओं की सूची) पर किया जाता है।

1. एकल संख्याओं का उपयोग करना

हम साधारण संख्या के साथ concatenated दर्ज कर सकते हैं + जोड़ने और के लिए - घटाकर के लिए:

> 3 + 4.5
# [1] 7.5
> 3 + 4.5 + 2
# [1] 9.5
> 3 + 4.5 + 2 - 3.8
# [1] 5.7
> 3 + NA
#[1] NA
> NA + NA
#[1] NA
> NA - NA
#[1] NA
> NaN - NA
#[1] NaN
> NaN + NA
#[1] NaN

हम चर (इस मामले में स्थिरांक) को संख्या निर्दिष्ट कर सकते हैं और समान कार्य कर सकते हैं:

> a <- 3; B <- 4.5; cc <- 2; Dd <- 3.8 ;na<-NA;nan<-NaN
> a + B
# [1] 7.5
> a + B + cc
# [1] 9.5
> a + B + cc - Dd
# [1] 5.7
> B-nan
#[1] NaN
> a+na-na
#[1] NA
> a + na
#[1] NA
> B-nan
#[1] NaN
> a+na-na
#[1] NA

2. वैक्टर का उपयोग करना

इस मामले में हम संख्याओं के वैक्टर बनाते हैं और उन वैक्टरों का उपयोग करके संचालन करते हैं, या एकल संख्याओं के साथ संयोजन करते हैं। इस मामले में वेक्टर के प्रत्येक तत्व को देखते हुए ऑपरेशन किया जाता है:

> A <- c(3, 4.5, 2, -3.8);
> A
# [1]  3.0  4.5  2.0 -3.8
> A + 2 # Adding a number 
# [1]  5.0  6.5  4.0 -1.8
> 8 - A # number less vector
# [1]  5.0  3.5  6.0 11.8
> n <- length(A) #number of elements of vector A
> n
# [1] 4
> A[-n] + A[n] # Add the last element to the same vector without the last element
# [1] -0.8  0.7 -1.8
> A[1:2] + 3 # vector with the first two elements plus a number
# [1] 6.0 7.5
> A[1:2] - A[3:4] # vector with the first two elements less the vector with elements 3 and 4
# [1] 1.0 8.3

हम वेक्टर के सभी तत्वों को जोड़ने के लिए फ़ंक्शन sum का उपयोग कर सकते हैं:

> sum(A)
# [1] 5.7
> sum(-A)
# [1] -5.7
> sum(A[-n]) + A[n]
# [1] 5.7

हमें रीसाइक्लिंग के साथ ध्यान रखना चाहिए, जो कि R की विशेषताओं में से एक है, एक व्यवहार जो गणित के संचालन करते समय होता है जहां वैक्टर की लंबाई अलग होती है। जब तक वे सबसे लंबे वेक्टर की लंबाई से मेल नहीं खाते, तब तक (शायद आंशिक रूप से) जितनी बार आवश्यकता होती है, उतने ही शिरापरक वैक्टर को पुनर्नवीनीकरण किया जाता है। विशेष रूप से एक स्थिर बस दोहराया जाता है । इस मामले में एक चेतावनी दिखाई जाती है।

> B <- c(3, 5, -3, 2.7, 1.8)
> B
# [1]  3.0  5.0 -3.0  2.7  1.8
> A
# [1]  3.0  4.5  2.0 -3.8
> A + B # the first element of A is repeated
# [1]  6.0  9.5 -1.0 -1.1  4.8
Warning message:
In A + B : longer object length is not a multiple of shorter object length
> B - A # the first element of A is repeated
# [1]  0.0  0.5 -5.0  6.5 -1.2
Warning message:
In B - A : longer object length is not a multiple of shorter object length

इस मामले में सही प्रक्रिया केवल छोटे वेक्टर के तत्वों पर विचार करना होगा:

> B[1:n] + A
# [1]  6.0  9.5 -1.0 -1.1
> B[1:n] - A
# [1]  0.0  0.5 -5.0  6.5

sum फ़ंक्शन का उपयोग करते समय, फ़ंक्शन के अंदर फिर से सभी तत्व जोड़ दिए जाते हैं।

> sum(A, B)
# [1] 15.2
> sum(A, -B)
# [1] -3.8
> sum(A)+sum(B)
# [1] 15.2
> sum(A)-sum(B)
# [1] -3.8


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow