Εξόρυξη δεδομένων (data mining): Συναρτήσεις στην γλώσσα R

Συναρτήσεις στην γλώσσα R: λίστα με τις πιο χρήσιμες

Σχεδόν τα πάντα στην γλώσσα R γίνονται μέσω συναρτήσεων. Είναι σημαντικό να κατανοηθεί ότι στην γλώσσα R οι συναρτήσεις είναι και οι ίδιες αντικείμενα. Μπορούμε να εργαστούμε μαζί τους, με τον ίδιο ακριβώς τρόπο που εργαζόμαστε με οποιοδήποτε άλλο είδος αντικειμένου.

Εδώ αναφέρονται ελάχιστες αλλά αρκετά χρήσιμες:

[table id=5 /]

Δημιουργία συναρτήσεων

Ένα από τα μεγάλα πλεονεκτήματα της R είναι η δυνατότητα του χρήστη να προσθέσει / να δημιουργήσει νέες συναρτήσεις. Στην πραγματικότητα, πολλές από τις συναρτήσεις στην R είναι.. συναρτήσεις των συναρτήσεων (συναρτήσεις φτιαγμένες από άλλες συναρτήσεις).

Η σύνταξη είναι ως εξής:

myfunction <- function(arg1, arg2, ... ){
  statements
  return(object)
}

Τα αντικείμενα σε μια συνάρτηση έχουν τοπική ισχύ στη συνάρτηση αυτή. Το αντικείμενο επιστροφής μπορεί να είναι οποιουδήποτε τύπου δεδομένων.

Μία από τις πτυχές του R workframe που κάνει αυτό το “πακέτο” διαφορετικό από τα άλλα στατιστικά πακέτα είναι ότι βασίζεται στην γλώσσα προγραμματισμού S. Με άλλα λόγια, έχουμε μια ολόκληρη γλώσσα υπολογιστή στη διάθεσή μας όταν προγραμματίζουμε στην R που μας επιτρέπει εύκολα και κομψά να γράψουμε όποια συνάρτηση θέλουμε.

Εδώ είναι ένα παράδειγμα:

# function ΠΑΡΑΔΕΙΓΜΑ - μέτρα κεντρικής τάσης
# και spread για έναν αριθμητικό vector x. Ο χρήστης έχει
# επιλογή των μέτρων και κατά πόσο τα αποτελέσματα εκτυπώνονται

mysummary <- function(x,npar=TRUE,print=TRUE) {
  if (!npar) {
    center <- mean(x); spread <- sd(x)
  } else {
    center <- median(x); spread <- mad(x)
  }
  if (print & !npar) {
    cat("Mean=", center, "\n", "SD=", spread, "\n")
  } else if (print & npar) {
    cat("Median=", center, "\n", "MAD=", spread, "\n")
  }
  result <- list(center=center,spread=spread)
  return(result)
}

# χρήση της συνάρτησης
set.seed(1234)
x <- rpois(500, 4)
y <- mysummary(x)
Median= 4
MAD= 1.4826
# y$center είναι το μέσο (4)
# y$spread είναι το μέσο της απόλυτης απόκλισης (1.4826)

y <- mysummary(x, npar=FALSE, print=FALSE)
# καμία έξοδος
# y$center είναι το μέσο (4.052)
# y$spread είναι το μέσο της τυπικής απόκλισης (2.01927) 

Leave a Comment

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

two × 3 =

Αυτός ο ιστότοπος χρησιμοποιεί το Akismet για να μειώσει τα ανεπιθύμητα σχόλια. Μάθετε πώς υφίστανται επεξεργασία τα δεδομένα των σχολίων σας.