Τα δεδομένα θα μπορούσαν να υπάρχουν σε διάφορες μορφές. Για κάθε μορφή, το R έχει μια συγκεκριμένη λειτουργία και όρισμα. Αυτό το σεμινάριο εξηγεί πώς να εισαγάγετε δεδομένα στο R.
Σε αυτό το σεμινάριο, θα μάθετε
- Διαβάστε το CSV
- Διαβάστε αρχεία Excel
- readxl_example ()
- read_excel ()
- excel_sheets ()
- Εισαγωγή δεδομένων από άλλο λογισμικό στατιστικής
- Διαβάστε sas
- Διαβάστε το STATA
- Διαβάστε το SPSS
- Βέλτιστες πρακτικές για εισαγωγή δεδομένων
Διαβάστε το CSV
Ένα από τα πιο ευρέως αποθηκευμένα δεδομένα είναι οι μορφές αρχείων .csv (τιμές διαχωρισμένες με κόμμα). Το R φορτώνει μια σειρά βιβλιοθηκών κατά την εκκίνηση, συμπεριλαμβανομένου του πακέτου utils. Αυτό το πακέτο είναι βολικό για το άνοιγμα αρχείων csv σε συνδυασμό με τη λειτουργία read.csv (). Εδώ είναι η σύνταξη του read.csv
read.csv(file, header = TRUE, sep = ",")
Όρισμα :
- αρχείο : PATH όπου αποθηκεύεται το αρχείο
- header : επιβεβαιώστε εάν το αρχείο έχει μια κεφαλίδα ή όχι, από προεπιλογή, η κεφαλίδα έχει οριστεί σε TRUE
- sep : το σύμβολο που χρησιμοποιείται για τη διαίρεση της μεταβλητής. Από προεπιλογή, ",".
Θα διαβάσουμε το όνομα αρχείου δεδομένων mtcats. Το αρχείο csv αποθηκεύεται στο Διαδίκτυο. Εάν το αρχείο .csv είναι αποθηκευμένο τοπικά, μπορείτε να αντικαταστήσετε το PATH μέσα στο απόσπασμα κώδικα. Μην ξεχάσετε να το τυλίξετε μέσα ». Το PATH πρέπει να είναι μια τιμή συμβολοσειράς.
Για χρήστες mac, η διαδρομή για το φάκελο λήψης είναι:
"/Users/USERNAME/Downloads/FILENAME.csv"
Για χρήστες παραθύρων:
"C:\Users\USERNAME\Downloads\FILENAME.csv"
Σημειώστε ότι, πρέπει πάντα να καθορίζουμε την επέκταση του ονόματος αρχείου.
- .csv
- .xlsx
- .κείμενο
- …
PATH <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/mtcars.csv'df <- read.csv(PATH, header = TRUE, sep = ',')length(df)
Παραγωγή:
## [1] 12
class(df$X)
Παραγωγή:
## [1] "factor"
Το R, από προεπιλογή, επιστρέφει τιμές χαρακτήρων ως Factor. Μπορούμε να απενεργοποιήσουμε αυτήν τη ρύθμιση προσθέτοντας stringsAsFactors = FALSE.
PATH <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/mtcars.csv'df <-read.csv(PATH, header =TRUE, sep = ',', stringsAsFactors =FALSE)class(df$X)
Παραγωγή:
## [1] "character"
Η κλάση για τη μεταβλητή X είναι τώρα ένας χαρακτήρας.
Διαβάστε αρχεία Excel
Τα αρχεία Excel είναι πολύ δημοφιλή στους αναλυτές δεδομένων. Τα υπολογιστικά φύλλα είναι εύχρηστα και ευέλικτα. Το R είναι εξοπλισμένο με μια βιβλιοθήκη readxl για την εισαγωγή υπολογιστικού φύλλου Excel.
Χρησιμοποιήστε αυτόν τον κωδικό
require(readxl)
για να ελέγξετε εάν το readxl είναι εγκατεστημένο στο μηχάνημά σας. Εάν εγκαταστήσετε το r με r-conda-essential, η βιβλιοθήκη είναι ήδη εγκατεστημένη. Θα πρέπει να δείτε στο παράθυρο εντολών:
Παραγωγή:
Loading required package: readxl.
Εάν το πακέτο δεν εξέρχεται, μπορείτε να το εγκαταστήσετε με τη βιβλιοθήκη conda ή στο τερματικό, χρησιμοποιήστε το conda install -c mittner r-readxl.
Χρησιμοποιήστε την ακόλουθη εντολή για να φορτώσετε τη βιβλιοθήκη για να εισαγάγετε αρχεία excel.
library(readxl)
readxl_example ()
Χρησιμοποιούμε τα παραδείγματα που περιλαμβάνονται στο πακέτο readxl κατά τη διάρκεια αυτού του σεμιναρίου.
Χρησιμοποιήστε τον κωδικό
readxl_example()
για να δείτε όλα τα διαθέσιμα υπολογιστικά φύλλα στη βιβλιοθήκη.
Για να ελέγξετε τη θέση του υπολογιστικού φύλλου με το όνομα clippy.xls, απλή χρήση
readxl_example("geometry.xls")
Εάν εγκαταστήσετε το R με conda, τα υπολογιστικά φύλλα βρίσκονται στο Anaconda3 / lib / R / library / readxl / extdata / filename.xls
read_excel ()
Η συνάρτηση read_excel () είναι πολύ χρήσιμη για το άνοιγμα της επέκτασης xls και xlsx.
Η σύνταξη είναι:
read_excel(PATH, sheet = NULL, range= NULL, col_names = TRUE)arguments:-PATH: Path where the excel is located-sheet: Select the sheet to import. By default, all-range: Select the range to import. By default, all non-null cells-col_names: Select the columns to import. By default, all non-null columns
Μπορούμε να εισαγάγουμε τα υπολογιστικά φύλλα από τη βιβλιοθήκη readxl και να μετρήσουμε τον αριθμό των στηλών στο πρώτο φύλλο.
# Store the path of `datasets.xlsx`example <- readxl_example("datasets.xlsx")# Import the spreadsheetdf <- read_excel(example)# Count the number of columnslength(df)
Παραγωγή:
## [1] 5
excel_sheets ()
Το αρχείο datasets.xlsx αποτελείται από 4 φύλλα. Μπορούμε να μάθουμε ποια φύλλα είναι διαθέσιμα στο βιβλίο εργασίας χρησιμοποιώντας τη λειτουργία excel_sheets ()
example <- readxl_example("datasets.xlsx")excel_sheets(example)
Παραγωγή:
[1] "iris" "mtcars" "chickwts" "quakes"
Εάν ένα φύλλο εργασίας περιλαμβάνει πολλά φύλλα, είναι εύκολο να επιλέξετε ένα συγκεκριμένο φύλλο χρησιμοποιώντας τα ορίσματα του φύλλου. Μπορούμε να καθορίσουμε το όνομα του φύλλου ή του ευρετηρίου φύλλων. Μπορούμε να επαληθεύσουμε εάν και οι δύο συνάρτηση επιστρέφουν την ίδια έξοδο με το ίδιο ().
example <- readxl_example("datasets.xlsx")quake <- read_excel(example, sheet = "quakes")quake_1 <-read_excel(example, sheet = 4)identical(quake, quake_1)
Παραγωγή:
## [1] TRUE
Μπορούμε να ελέγξουμε ποια κελιά να διαβάσουμε με 2 τρόπους
- Χρησιμοποιήστε το όρισμα n_max για να επιστρέψετε n σειρές
- Χρησιμοποιήστε το όρισμα εύρους σε συνδυασμό με cell_rows ή cell_cols
Για παράδειγμα, ορίζουμε το n_max ίσο με 5 για να εισαγάγουμε τις πρώτες πέντε σειρές.
# Read the first five row: with headeriris <-read_excel(example, n_max =5, col_names =TRUE)
Εάν αλλάξουμε col_names σε FALSE, το R δημιουργεί αυτόματα τις κεφαλίδες.
# Read the first five row: without headeriris_no_header <-read_excel(example, n_max =5, col_names =FALSE)
iris_no_header
Στο πλαίσιο δεδομένων iris_no_header, ο R δημιούργησε πέντε νέες μεταβλητές με το όνομα X__1, X__2, X__3, X__4 και X__5
Μπορούμε επίσης να χρησιμοποιήσουμε το εύρος ορίσματος για να επιλέξετε γραμμές και στήλες στο υπολογιστικό φύλλο. Στον παρακάτω κώδικα, χρησιμοποιούμε το στυλ excel για να επιλέξουμε την περιοχή A1 έως B5.
# Read rows A1 to B5example_1 <-read_excel(example, range = "A1:B5", col_names =TRUE)dim(example_1)
Παραγωγή:
## [1] 4 2
Μπορούμε να δούμε ότι το example_1 επιστρέφει 4 σειρές με 2 στήλες. Το σύνολο δεδομένων έχει κεφαλίδα, ότι ο λόγος για τη διάσταση είναι 4x2.
Στο δεύτερο παράδειγμα, χρησιμοποιούμε τη συνάρτηση cell_rows () που ελέγχει το εύρος των γραμμών που θα επιστρέψουν. Εάν θέλουμε να εισαγάγουμε τις σειρές 1 έως 5, μπορούμε να ορίσουμε τις γραμμές_κυψέλης (1: 5). Σημειώστε ότι, οι σειρές_κυττάρων (1: 5) επιστρέφουν την ίδια έξοδο με τις σειρές κυψέλης (5: 1).
# Read rows 1 to 5example_2 <-read_excel(example, range =cell_rows(1:5),col_names =TRUE)dim(example_2)
Παραγωγή:
## [1] 4 5
Ωστόσο, το παράδειγμα_2 είναι ένας πίνακας 4x5. Το σύνολο δεδομένων ίριδας έχει 5 στήλες με κεφαλίδα. Επιστρέφουμε τις τέσσερις πρώτες σειρές με κεφαλίδα όλων των στηλών
Σε περίπτωση που θέλουμε να εισαγάγουμε σειρές που δεν ξεκινούν στην πρώτη σειρά, πρέπει να συμπεριλάβουμε col_names = FALSE. Εάν χρησιμοποιούμε range = cell_rows (2: 5), γίνεται προφανές ότι το πλαίσιο δεδομένων μας δεν έχει πλέον κεφαλίδα.
iris_row_with_header <-read_excel(example, range =cell_rows(2:3), col_names=TRUE)iris_row_no_header <-read_excel(example, range =cell_rows(2:3),col_names =FALSE)
We can select the columns with the letter, like in Excel.# Select columns A and Bcol <-read_excel(example, range =cell_cols("A:B"))dim(col)
Παραγωγή:
## [1] 150 2
Σημείωση: range = cell_cols ("A: B"), επιστρέφει την έξοδο όλων των κελιών με μη μηδενική τιμή. Το σύνολο δεδομένων περιέχει 150 σειρές, επομένως, το read_excel () επιστρέφει σειρές έως 150. Αυτό επαληθεύεται με τη λειτουργία dim ().
read_excel () επιστρέφει NA όταν ένα σύμβολο χωρίς αριθμητική τιμή εμφανίζεται στο κελί. Μπορούμε να μετρήσουμε τον αριθμό των τιμών που λείπουν με το συνδυασμό δύο συναρτήσεων
- άθροισμα
- είναι.na
Εδώ είναι ο κωδικός
iris_na <-read_excel(example, na ="setosa")sum(is.na(iris_na))
Παραγωγή:
## [1] 50
Λείπουν 50 τιμές, οι οποίες είναι οι σειρές του είδους setosa.
Εισαγωγή δεδομένων από άλλο λογισμικό στατιστικής
Θα εισαγάγουμε διαφορετική μορφή αρχείων με το πακέτο Heaven. Αυτό το πακέτο υποστηρίζει λογισμικά SAS, STATA και SPSS. Μπορούμε να χρησιμοποιήσουμε την ακόλουθη συνάρτηση για να ανοίξουμε διαφορετικούς τύπους συνόλων δεδομένων, σύμφωνα με την επέκταση του αρχείου:
- SAS: read_sas ()
- STATA: read_dta () (ή read_stata (), τα οποία είναι πανομοιότυπα)
- SPSS: read_sav () ή read_por (). Πρέπει να ελέγξουμε την επέκταση
Απαιτείται μόνο ένα όρισμα σε αυτήν τη συνάρτηση. Πρέπει να γνωρίζουμε το PATH όπου είναι αποθηκευμένο το αρχείο. Αυτό είναι, είμαστε έτοιμοι να ανοίξουμε όλα τα αρχεία από SAS, STATA και SPSS. Αυτές οι τρεις λειτουργίες δέχονται επίσης μια διεύθυνση URL.
library(haven)
Το παράδεισο έρχεται με conda r-απαραίτητο αλλιώς πηγαίνετε στο σύνδεσμο ή στο τερματικό conda install -c conda-forge r-haven
Διαβάστε sas
Για παράδειγμα, θα χρησιμοποιήσουμε το σύνολο δεδομένων εισαγωγής από το IDRE.
PATH_sas <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.sas7bdat?raw=true'df <- read_sas(PATH_sas)head(df)
Παραγωγή:
## # A tibble: 6 x 4## ADMIT GRE GPA RANK#### 1 0 380 3.61 3## 2 1 660 3.67 3## 3 1 800 4.00 1## 4 1 640 3.19 4## 5 0 520 2.93 4## 6 1 760 3.00 2
Διαβάστε το STATA
Για αρχεία δεδομένων STATA μπορείτε να χρησιμοποιήσετε το read_dta (). Χρησιμοποιούμε ακριβώς το ίδιο σύνολο δεδομένων αλλά αποθηκεύουμε σε αρχείο .dta.
PATH_stata <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.dta?raw=true'df <- read_dta(PATH_stata)head(df)
Παραγωγή:
## # A tibble: 6 x 4## admit gre gpa rank#### 1 0 380 3.61 3## 2 1 660 3.67 3## 3 1 800 4.00 1## 4 1 640 3.19 4## 5 0 520 2.93 4## 6 1 760 3.00 2
Διαβάστε το SPSS
Χρησιμοποιούμε τη συνάρτηση read_sav () για να ανοίξουμε ένα αρχείο SPSS. Η επέκταση αρχείου ".sav"
PATH_spss <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.sav?raw=true'df <- read_sav(PATH_spss)head(df)
Παραγωγή:
## # A tibble: 6 x 4## admit gre gpa rank#### 1 0 380 3.61 3## 2 1 660 3.67 3## 3 1 800 4.00 1## 4 1 640 3.19 4## 5 0 520 2.93 4## 6 1 760 3.00 2
Βέλτιστες πρακτικές για εισαγωγή δεδομένων
Όταν θέλουμε να εισαγάγουμε δεδομένα στο R, είναι χρήσιμο να εφαρμόσουμε την ακόλουθη λίστα ελέγχου. Θα διευκολύνει την σωστή εισαγωγή δεδομένων στο R:
- Η τυπική μορφή ενός υπολογιστικού φύλλου είναι η χρήση των πρώτων σειρών ως κεφαλίδας (συνήθως όνομα μεταβλητών).
- Αποφύγετε να ονομάσετε ένα σύνολο δεδομένων με κενά κενά. μπορεί να οδηγήσει στην ερμηνεία ως ξεχωριστή μεταβλητή. Εναλλακτικά, προτιμήστε να χρησιμοποιήσετε το «_» ή το «-».
- Προτιμώνται τα σύντομα ονόματα
- Μην συμπεριλάβετε το σύμβολο στο όνομα: δηλαδή: exchange_rate _ $ _ € δεν είναι σωστό. Προτιμήστε να το ονομάσετε: exchange_rate_dollar_euro
- Χρησιμοποιήστε το NA για τιμές που λείπουν διαφορετικά. πρέπει να καθαρίσουμε τη μορφή αργότερα.
Περίληψη
Ο παρακάτω πίνακας συνοψίζει τη λειτουργία που θα χρησιμοποιηθεί για την εισαγωγή διαφορετικών τύπων αρχείων στο R. Στη στήλη αναφέρεται η βιβλιοθήκη που σχετίζεται με τη συνάρτηση. Η τελευταία στήλη αναφέρεται στο προεπιλεγμένο όρισμα.
Βιβλιοθήκη |
Σκοπός |
Λειτουργία |
Προεπιλεγμένα επιχειρήματα |
---|---|---|---|
σκεύη |
Διαβάστε το αρχείο CSV |
read.csv () |
αρχείο, κεφαλίδα =, TRUE, sep = "," |
readxl |
Διαβάστε το αρχείο EXCEL |
read_excel () |
διαδρομή, εύρος = NULL, col_names = TRUE |
επίνειο |
Διαβάστε το αρχείο SAS |
read_sas () |
μονοπάτι |
επίνειο |
Διαβάστε το αρχείο STATA |
read_stata () |
μονοπάτι |
επίνειο |
Διαβάστε το SPSS fille |
read_sav () |
μονοπάτι |
Ο παρακάτω πίνακας δείχνει τους διαφορετικούς τρόπους εισαγωγής μιας επιλογής με τη συνάρτηση read_excel ().
Λειτουργία |
Στόχοι |
Επιχειρήματα |
---|---|---|
read_excel () |
Διαβάστε n αριθμό σειρών |
n_max = 10 |
Επιλέξτε σειρές και στήλες όπως στο Excel |
εύρος = "A1: D10" |
|
Επιλέξτε σειρές με ευρετήρια |
εύρος = σειρές_κυττάρων (1: 3) |
|
Επιλέξτε στήλες με γράμματα |
εύρος = cell_cols ("A: C") |