R Data Frame: Πώς να δημιουργήσετε, να προσθέσετε, να επιλέξετε & Υποσύνολο

Πίνακας περιεχομένων:

Anonim

Τι είναι το πλαίσιο δεδομένων;

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

Σε αυτό το σεμινάριο, θα μάθετε-

  • Τι είναι το πλαίσιο δεδομένων;
  • Πώς να δημιουργήσετε ένα πλαίσιο δεδομένων
  • Προσάρτηση στήλης στο πλαίσιο δεδομένων
  • Επιλέξτε μια στήλη ενός πλαισίου δεδομένων
  • Υποτάξτε ένα πλαίσιο δεδομένων

Πώς να δημιουργήσετε ένα πλαίσιο δεδομένων

Μπορούμε να δημιουργήσουμε ένα πλαίσιο δεδομένων στο R περνώντας τη μεταβλητή a, b, c, d στη συνάρτηση data.frame (). Μπορούμε να δημιουργήσουμε το πλαίσιο δεδομένων και να ονομάσουμε τις στήλες με το όνομα () και απλώς να καθορίσουμε το όνομα των μεταβλητών.

data.frame(df, stringsAsFactors = TRUE)

Επιχειρήματα :

  • df : Μπορεί να είναι ένας πίνακας για μετατροπή ως πλαίσιο δεδομένων ή μια συλλογή μεταβλητών για ένταξη
  • stringsAsFactors : Μετατροπή συμβολοσειράς σε συντελεστή από προεπιλογή

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

# Create a, b, c, d variablesa <- c(10,20,30,40)b <- c('book', 'pen', 'textbook', 'pencil_case')c <- c(TRUE,FALSE,TRUE,FALSE)d <- c(2.5, 8, 10, 7)# Join the variables to create a data framedf <- data.frame(a,b,c,d)df

Παραγωγή:

## a b c d## 1 1 book TRUE 2.5## 2 2 pen TRUE 8.0## 3 3 textbook TRUE 10.0## 4 4 pencil_case FALSE 7.0

Μπορούμε να δούμε ότι οι κεφαλίδες στηλών έχουν το ίδιο όνομα με τις μεταβλητές. Μπορούμε να αλλάξουμε το όνομα της στήλης στο R με τα ονόματα της συνάρτησης (). Δείτε το παράδειγμα R create dataframe παρακάτω:

# Name the data framenames(df) <- c('ID', 'items', 'store', 'price')df

Παραγωγή:

## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0## 3 30 textbook TRUE 10.0## 4 40 pencil_case FALSE 7.0
# Print the structurestr(df)

Παραγωγή:

## 'data.frame': 4 obs. of 4 variables:## $ ID : num 10 20 30 40## $ items: Factor w/ 4 levels "book","pen","pencil_case",… : 1 2 4 3## $ store: logi TRUE FALSE TRUE FALSE## $ price: num 2.5 8 10 7

Από προεπιλογή, το πλαίσιο δεδομένων επιστρέφει μεταβλητές συμβολοσειρών ως παράγοντα.

Πλαίσιο δεδομένων Slice

Είναι δυνατό να SLICE τιμές ενός Data Frame. Επιλέγουμε τις γραμμές και τις στήλες για να επιστρέψουμε σε αγκύλη πριν από το όνομα του πλαισίου δεδομένων.

Ένα πλαίσιο δεδομένων αποτελείται από σειρές και στήλες, df [A, B]. Το A αντιπροσωπεύει τις σειρές και το B τις στήλες. Μπορούμε να κόψουμε είτε καθορίζοντας τις σειρές ή / και τις στήλες.

Από την εικόνα 1, το αριστερό μέρος αντιπροσωπεύει τις σειρές και το δεξί μέρος είναι οι στήλες . Σημειώστε ότι το σύμβολο: μέσα σε . Για παράδειγμα, το 1: 3 σκοπεύει να επιλέξει τιμές από 1 έως 3.

Στο παρακάτω διάγραμμα παρουσιάζουμε τον τρόπο πρόσβασης σε διαφορετική επιλογή του πλαισίου δεδομένων:

  • Το κίτρινο βέλος επιλέγει τη σειρά 1 στη στήλη 2
  • Το πράσινο βέλος επιλέγει τις σειρές 1 έως 2
  • Το κόκκινο βέλος επιλέγει τη στήλη 1
  • Το μπλε βέλος επιλέγει τις σειρές 1 έως 3 και τις στήλες 3 έως 4

Σημειώστε ότι, εάν αφήσουμε το αριστερό μέρος κενό, το R θα επιλέξει όλες τις σειρές . Αναλογικά, εάν αφήσουμε το δεξί μέρος κενό, το R θα επιλέξει όλες τις στήλες .

Μπορούμε να εκτελέσουμε τον κώδικα στην κονσόλα:

## Select row 1 in column 2df[1,2]

Παραγωγή:

## [1] book## Levels: book pen pencil_case textbook
## Select Rows 1 to 2df[1:2,]

Παραγωγή:

## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0
## Select Columns 1df[,1]

Παραγωγή:

## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4df[1:3, 3:4]

Παραγωγή:

## store price## 1 TRUE 2.5## 2 FALSE 8.0## 3 TRUE 10.0

Είναι επίσης δυνατό να επιλέξετε τις στήλες με τα ονόματά τους. Για παράδειγμα, ο παρακάτω κώδικας εξάγει δύο στήλες: ID και store.

# Slice with columns namedf[, c('ID', 'store')]

Παραγωγή:

## ID store## 1 10 TRUE## 2 20 FALSE## 3 30 TRUE## 4 40 FALSE

Προσάρτηση στήλης στο πλαίσιο δεδομένων

Μπορείτε επίσης να προσθέσετε μια στήλη σε ένα πλαίσιο δεδομένων. Πρέπει να χρησιμοποιήσετε το σύμβολο $ για να προσθέσετε τη μεταβλητή του πλαισίου δεδομένων R και να προσθέσετε μια στήλη σε ένα πλαίσιο δεδομένων στο R.

# Create a new vectorquantity <- c(10, 35, 40, 5)# Add `quantity` to the `df` data framedf$quantity <- quantitydf

Παραγωγή:

## ID items store price quantity## 1 10 book TRUE 2.5 10## 2 20 pen FALSE 8.0 35## 3 30 textbook TRUE 10.0 40## 4 40 pencil_case FALSE 7.0 5

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

quantity <- c(10, 35, 40)# Add `quantity` to the `df` data framedf$quantity <- quantity

Δίνει σφάλμα:

Error in `$<-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40))replacement has 3 rows, data has 4 

Επιλέξτε μια στήλη ενός πλαισίου δεδομένων

Μερικές φορές, πρέπει να αποθηκεύσουμε μια στήλη ενός πλαισίου δεδομένων για μελλοντική χρήση ή να εκτελέσουμε λειτουργία σε μια στήλη. Μπορούμε να χρησιμοποιήσουμε το σύμβολο $ για να επιλέξουμε τη στήλη από ένα πλαίσιο δεδομένων.

# Select the column IDdf$ID

Παραγωγή:

## [1] 1 2 3 4

Υποτάξτε ένα πλαίσιο δεδομένων

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

Χρησιμοποιούμε τη συνάρτηση subset ().

subset(x, condition)arguments:- x: data frame used to perform the subset- condition: define the conditional statement

Θέλουμε να επιστρέψουμε μόνο τα αντικείμενα με τιμή πάνω από 10, μπορούμε να κάνουμε:

# Select price above 5subset(df, subset = price > 5)

Παραγωγή:

ID items store price2 20 pen FALSE 83 30 textbook TRUE 104 40 pencil_case FALSE 7