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

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

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

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

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

lsπαρουσιάζει τα περιεχόμενα του R workspace
rmδιαγράφει αντικείμενα από το R workspace
saveαποθήκευση επιλεγμένων αντικειμένων
+, -, *, /, ^αριθμητικοί τελεστές
%*%matrix πολλαπλασιασμός
tmatrix μεταθέσεις
solvematrix αντιστροφή (και επίλυση γραμμικών εξισώσεων)
cσυνδιασμός (σύνδεση) αντικειμένων, ευκολότερα με χρήση vectors
seqδημιουργία vectors με κανονική συνέχεια
repαναπαραγωγή vectors
lengthεπιστρέφει το μέγεθος ενός vector
sumεπιστρέφει το συνολικό άθροισμα
meanεπιστρέφει το μέσον
medianεπιστρέφει το ενδιάμεσο
sdεπιστρέφει την τυπική απόκληση (N-1 στον παρανομαστή)
minεπιστρέφει το ελάχιστο
maxεπιστρέφει το μέγιστο
sortταξινόμηση σε έναν vector (τα στοιχεία του vector σε σειρά)
orderεπιστρέφει δείκτες σε vectors προς διάταξη
rankεπιστρέφει την θέση των στοιχείων σε ένα vector
==, <, >, <= ,>=, !=τελεστές σύγκρισης
|, &, OR, ANDλογικοί τελεστές
is.naέλεγχος για ελλειπούσες τιμές - NA
whichκάνει λογική σύγκριση και δείχνει ποια στοιχεία είναι αληθή, δηλαδή, δίνει τους TRUE δείκτες ενός αντικειμένου
anyλογική σύγκριση, επιστρέφει 1 ( TRUE) αν κάποια από τις συγκρίσεις είναι ΑΛΗΘΕΣ δηλαδή, σε ένα δεδομένο σύνολο λογικών vectors,
είναι τουλάχιστον μία από τις τιμές ΤRUE;
expεπιστρέφει το e σε μια δύναμη
logεπιστρέφει τον φυσικό λογάριθμο (με βάση το e)
sqrtεπιστρέφει την τετραγωνική ρίζα
tableσυχνότητες και crosstabs
helpβοήθεια σε μια συγκεκριμένη συνάρτηση
cbindσυνδύασε σε στήλες
rbindσυνδύασε σε γραμμές
matrixδημιουργία matrix
vectorδημιουργία vector
is.vectorέλεγχος TRUE ή FALSE αν το αντικείμενο είναι vector
as.vectorπροσπάθεια να ανάγει ένα αντικείμενο σε vector
arrayδημιουργία πίνακα στοιχείων
dimδιάσταση ενός πίνακα ή dataframe
nrowσύνολο γραμμών σε έναν πίνακα ή dataframe
ncolσύνολο στηλών σε έναν πίνακα ή dataframe
read.tableανάγνωση δεδομένων από text file
read.csvανάγνωση δεδομένων από text file διαχωρισμένα με κόμα
write.tableεγγραφή ενός dataframe σε ένα text file
is.data.frameέλεγχος αντικειμένου αν είναι dataframe
as.data.frameπροσπάθεια αναγωγής αντικειμένου σε dataframe
is.factorέλεγχος αντικειμένου αν είναι factor
as.factorπροσπάθεια αναγωγής αντικειμένου σε factor
attachαναφορά σε μεταβλητών ενός dataframe χωρίς χρήση του ονόματος του dataframe name (το αντίθετο του detach)
headπαρουσίαση των πρώτων 6 γραμμών
tailπαρουσίαση των τελευταίων 6 γραμμών
namesεπιστροφή των ονομάτων των στοιχείων ενός αντικειμένου
colnamesεπιστρέφει ή ορίζει ονόματα στηλών ενός αντικειμένου
rownamesεπιστρέφει ή ορίζει ονόματα γραμμών ενός αντικειμένου
subsetεπιλέγει τμήμα ενός vector, matrix, ή dataframe
mergeενώνει δύο dataframes
lmπολλαπλή γραμμική παλινδρόμηση
glmγενικευμένη γραμμική παλινδρόμηση
anovaανάλυση διακύμανσης
chisq.testPearson's Chi-squared τέστ για Count Data
summaryπαρουσιάζει τα αποτελέσματα διαφόρων fitting functions
predictπρόβλεψη αποτελεσμάτων ενός μοντέλου
histιστόγραμμα
boxplotbox plot
plotscatter plot
linesσυνδέει τα σημεία διαδοχικά με γραμμές (σε ένα plot)
segmentsπροσθέτει γραμμές σε ένα plot (μεταξύ των ζευγαριών των σημείων)
textπροσθήκη κειμένου σε ένα plot
legendπροσθήκη λεζάντας σε ένα plot
ablineπροσθήκη γραμμής σε ένα plot, καθορίζοντας κλίση και σημείο τομής. Αν γίνει σε αντικείμενο lm θα έχει ως αποτέλεσμα την προσθήκη της προβλεπόμενης γραμμής στο plot
x11άνοιγμα ενός επιπλέον γραφικού παραθύρου
pdfάνοιγμα ενός pdf αρχείου για την εγγραφή των γραφικών στοιχείων
dev.offκλείσιμο συσκευής γραφικών
par(mfrow)τακτοποίηση πολλαπλών plots στην ίδια σελίδα
sampleπαράγει ένα τυχαίο δείγμα από τις καθορισμένες τιμές
set.seedθέτει το seed για τo επόμενo τυχαίο δείγμα - το ίδιο δείγμα θα παραχθεί με το seed
rnormπαράγει ένα τυχαίο δείγμα από μία κανονική κατανομή
qnormποσοστιαία (εκατοστημόρια) της κανονικής κατανομής
pnormCDF της κανονικής κατανομής
dnormPDF της κανονικής κατανομής
rbinomπαράγει ένα τυχαίο δείγμα από μια διωνυμική κατανομή

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

Ένα από τα μεγάλα πλεονεκτήματα της 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) 

Απάντηση

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