मैं आपका कोड क्यों नहीं पढ़ पाता?

R में फ़ंक्शन लिखने का परिचय

Richie Cotton

Data Evangelist at DataCamp

dplyr क्रियाएँ (verbs)

select() कॉलम्स को चुनता है

filter() रोज़ को फ़िल्टर करता है

R में फ़ंक्शन लिखने का परिचय

फंक्शन नामों में क्रिया होनी चाहिए

  • get
  • calculate (या बस calc)
  • run
  • process
  • import
  • clean
  • tidy
  • draw
R में फ़ंक्शन लिखने का परिचय

lm() का नाम ठीक नहीं है

  • संक्षेप (acronyms) खुद-ब-खुद स्पष्ट नहीं होते
  • इसमें कोई क्रिया नहीं है
  • लीनियर मॉडल्स कई तरह के होते हैं

बेहतर नाम होगा run_linear_regression()

R में फ़ंक्शन लिखने का परिचय

Readability बनाम typeability

  • कोड समझना >> कोड टाइप करना
R में फ़ंक्शन लिखने का परिचय

Readability बनाम typeability

  • कोड समझना >> कोड टाइप करना
  • कोड एडिटर्स में autocomplete होता है

डेटाकैम्प ऑटो-कम्प्लीट

R में फ़ंक्शन लिखने का परिचय

Readability बनाम typeability

  • कोड समझना >> कोड टाइप करना
  • कोड एडिटर्स में autocomplete होता है
  • आप आम फंक्शनों के लिए alias बना सकते हैं
h <- head
data(cats, package = "MASS")
h(cats)
  Sex Bwt Hwt
1   F 2.0 7.0
2   F 2.0 7.4
3   F 2.0 9.5
4   F 2.1 7.2
5   F 2.1 7.3
6   F 2.1 7.6
R में फ़ंक्शन लिखने का परिचय

lm() के arguments

args(lm)
function (formula, data, subset, weights, na.action, method = "qr", 
    model = TRUE, x = FALSE, y = FALSE, qr = TRUE, singular.ok = TRUE, 
    contrasts = NULL, offset, ...)
R में फ़ंक्शन लिखने का परिचय

Arguments के प्रकार

  • Data arguments: किस पर computation होता है
  • Detail arguments: computation कैसे होता है
args(cor)
function (x, y = NULL, use = "everything", 
  method = c("pearson", "kendall", "spearman"))
R में फ़ंक्शन लिखने का परिचय

Data args को detail args से पहले रखें

यह काम नहीं करेगा

data %>%
  lm(formula)

क्योंकि data argument सबसे पहले नहीं है.

R में फ़ंक्शन लिखने का परिचय

लीनियर रिग्रेशन के लिए संशोधित फंक्शन

run_linear_regression <- function(data, formula) {
  lm(formula, data)
}
cats %>% 
  run_linear_regression(Hwt ~ Bet + Sex)
Call:
lm(formula = formula, data = data)

Coefficients:
(Intercept)          Bwt         SexM  
    -0.4150       4.0758      -0.0821
R में फ़ंक्शन लिखने का परिचय

अभ्यास करते हैं!

R में फ़ंक्शन लिखने का परिचय

Preparing Video For Download...