Andmed võivad eksisteerida erinevates vormingutes. Iga vormingu korral on R-l kindel funktsioon ja argument. Selles õpetuses selgitatakse, kuidas andmeid R-sse importida.
Selles õpetuses saate teada
- Lugege CSV-d
- Exceli failide lugemine
- readxl_example ()
- read_excel ()
- excel_sheets ()
- Andmete importimine muust statistikatarkvarast
- Loe sas
- Lugege STATA-d
- Lugege SPSS-i
- Andmete impordi parimad tavad
Lugege CSV-d
Üks laiemalt andmekogusid on .csv (komaga eraldatud väärtused) failivormingud. R laadib käivitamise ajal hulga teeke, sealhulgas paketi utils. See pakett on mugav CSV-failide avamiseks koos funktsiooniga read.csv (). Siin on read.csv süntaks
read.csv(file, header = TRUE, sep = ",")
Argument :
- fail : PATH, kuhu fail on salvestatud
- päis : kontrollige, kas failil on päis või mitte, vaikimisi on päiseks seatud TRUE
- sep : muutuja jagamiseks kasutatav sümbol. Vaikimisi `,`.
Me loeme andmefaili nime mtcats. Csv-fail on salvestatud võrgus. Kui teie .csv-fail on salvestatud kohapeal, saate koodilõigu sees asuva PATH-i asendada. Ärge unustage seda sisse keerata ". PATH peab olema stringi väärtus.
Maci kasutaja jaoks on allalaaditava kausta tee järgmine:
"/Users/USERNAME/Downloads/FILENAME.csv"
Windowsi kasutajale:
"C:\Users\USERNAME\Downloads\FILENAME.csv"
Pange tähele, et me peaksime alati määrama failinime laienduse.
- .csv
- .xlsx
- .txt
- …
PATH <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/mtcars.csv'df <- read.csv(PATH, header = TRUE, sep = ',')length(df)
Väljund:
## [1] 12
class(df$X)
Väljund:
## [1] "factor"
R tagastab vaikimisi märgi väärtused tegurina. Selle sätte saame välja lülitada, lisades stringidAsFactors = 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)
Väljund:
## [1] "character"
Muutuja X klass on nüüd märk.
Exceli failide lugemine
Exceli failid on andmeanalüütikute seas väga populaarsed. Arvutustabeleid on lihtne töötada ja need on paindlikud. R on Exceli arvutustabeli importimiseks varustatud teeki readxl.
Kasutage seda koodi
require(readxl)
et kontrollida, kas readxl on teie arvutisse installitud. Kui installite r koos r-conda-essentialiga, on teek juba installitud. Peaksite käsuaknas nägema:
Väljund:
Loading required package: readxl.
Kui pakett ei välju, saate selle installida conda teeki või terminali, kasutage conda install -c mittner r-readxl.
Exceli failide importimiseks teegi laadimiseks kasutage järgmist käsku.
library(readxl)
readxl_example ()
Selle õpetuse käigus kasutame paketis readxl sisalduvaid näiteid.
Kasuta koodi
readxl_example()
kõigi saadaolevate arvutustabelite nägemiseks raamatukogus.
Clippy.xls-nimelise arvutustabeli asukoha kontrollimiseks kasutage lihtsalt
readxl_example("geometry.xls")
Kui installite R koos kondaga, asuvad arvutustabelid saidil Anaconda3 / lib / R / library / readxl / extdata / filename.xls
read_excel ()
Funktsioonist read_excel () on xls ja xlsx laienduse avamisel väga palju kasu.
Süntaks on:
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
Saame importida arvutustabeleid readxl teegist ja loendada esimese lehe veergude arvu.
# Store the path of `datasets.xlsx`example <- readxl_example("datasets.xlsx")# Import the spreadsheetdf <- read_excel(example)# Count the number of columnslength(df)
Väljund:
## [1] 5
excel_sheets ()
Fail datasets.xlsx koosneb neljast lehest. Funktsioonide excel_sheets () abil saame teada, millised lehed on töövihikus saadaval
example <- readxl_example("datasets.xlsx")excel_sheets(example)
Väljund:
[1] "iris" "mtcars" "chickwts" "quakes"
Kui tööleht sisaldab palju lehti, on lehe argumentide abil lihtne konkreetset lehte valida. Saame määrata lehe nime või lehe registri. Saame kontrollida, kas mõlemad funktsioonid tagastavad sama väljundi identse () -ga.
example <- readxl_example("datasets.xlsx")quake <- read_excel(example, sheet = "quakes")quake_1 <-read_excel(example, sheet = 4)identical(quake, quake_1)
Väljund:
## [1] TRUE
Saame kahel viisil kontrollida, milliseid rakke lugeda
- N rea tagastamiseks kasutage argumenti n_max
- Kasutage vahemiku argumenti koos lahtrite_rühmade või lahtrite_kolmidega
Näiteks määrasime esimese viie rea importimiseks n_max võrdse väärtusega 5.
# Read the first five row: with headeriris <-read_excel(example, n_max =5, col_names =TRUE)
Kui muudame col_names väärtuseks FALSE, loob R päised automaatselt.
# Read the first five row: without headeriris_no_header <-read_excel(example, n_max =5, col_names =FALSE)
iris_no_header
Andmekaadris iris_no_header lõi R viis uut muutujat nimega X__1, X__2, X__3, X__4 ja X__5
Argumentide vahemikku saame kasutada ka arvutustabeli ridade ja veergude valimiseks. Allolevas koodis valime vahemiku A1 kuni B5 Exceli stiili abil.
# Read rows A1 to B5example_1 <-read_excel(example, range = "A1:B5", col_names =TRUE)dim(example_1)
Väljund:
## [1] 4 2
Näeme, et näide_1 tagastab 4 rida 2 veeruga. Andmekogumil on päis, et põhjuseks on mõõt 4x2.
Teises näites kasutame funktsiooni cell_rows (), mis kontrollib tagasipöörduvate ridade vahemikku. Kui tahame ridu 1 kuni 5 importida, saame määrata lahtrid (1: 5). Pange tähele, et cell_rows (1: 5) tagastab sama väljundi nagu cell_rows (5: 1).
# Read rows 1 to 5example_2 <-read_excel(example, range =cell_rows(1:5),col_names =TRUE)dim(example_2)
Väljund:
## [1] 4 5
Näide_2 on siiski 4x5 maatriks. Iirise andmekogul on 5 päisega veergu. Tagastame esimesed neli rida kõigi veergude päisega
Kui tahame importida ridu, mis ei alga esimesest reast, peame lisama col_names = FALSE. Kui kasutame vahemikku = cell_rows (2: 5), ilmneb, et meie andmeraamil pole enam päist.
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)
Väljund:
## [1] 150 2
Märkus: vahemik = cell_cols ("A: B") tagastab kõigi lahtrite nullväärtuse. Andmekogum sisaldab 150 rida, seetõttu tagastab read_excel () read kuni 150. Seda kontrollitakse funktsiooni dim () abil.
read_excel () tagastab NA, kui lahtrisse ilmub numbrilise väärtuseta sümbol. Puuduvate väärtuste arvu saame kokku lugeda kahe funktsiooni kombinatsiooniga
- summa
- is.na
Siin on kood
iris_na <-read_excel(example, na ="setosa")sum(is.na(iris_na))
Väljund:
## [1] 50
Meil on puudu 50 väärtust, milleks on setosaliiki kuuluvad read.
Andmete importimine muust statistikatarkvarast
Impordime taevapaketiga erinevaid failivorminguid. See pakett toetab tarkvara SAS, STATA ja SPSS. Erinevat tüüpi andmekogumi avamiseks vastavalt faili laiendusele saame kasutada järgmist funktsiooni:
- SAS: read_sas ()
- STATA: read_dta () (või read_stata (), mis on identsed)
- SPSS: read_sav () või read_por (). Peame laiendust kontrollima
Nendes funktsioonides on nõutav ainult üks argument. Peame teadma PATH-i, kuhu fail on salvestatud. See on kõik, oleme valmis avama kõik SASi, STATA ja SPSSi failid. Need kolm funktsiooni aktsepteerivad ka URL-i.
library(haven)
haven on varustatud conda r-essentialiga, muidu minge lingile või terminali conda installige -c conda-forge r-haven
Loe sas
Näiteks kasutame IDRE sisseastumisandmete kogumit.
PATH_sas <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.sas7bdat?raw=true'df <- read_sas(PATH_sas)head(df)
Väljund:
## # 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
Lugege STATA-d
STATA andmefailide jaoks saate kasutada read_dta (). Kasutame täpselt sama andmekogumit, kuid salvestame failis .dta.
PATH_stata <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.dta?raw=true'df <- read_dta(PATH_stata)head(df)
Väljund:
## # 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
Lugege SPSS-i
SPSS-faili avamiseks kasutame funktsiooni read_sav (). Faililaiend ".sav"
PATH_spss <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.sav?raw=true'df <- read_sav(PATH_spss)head(df)
Väljund:
## # 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
Andmete impordi parimad tavad
Kui tahame andmeid R-i importida, on kasulik rakendada järgmine kontroll-loend. See hõlbustab andmete õigesti importimist R-i:
- Arvutustabeli tüüpiline vorming on kasutada päisena esimesi ridu (tavaliselt muutujate nimi).
- Vältige tühikute tühikutega andmekogumi nimetamist; see võib viia tõlgendamiseni eraldi muutujana. Teise võimalusena eelistage kasutada '_' või '-.'
- Eelistatakse lühinimesid
- Ärge lisage nimesse sümbolit: st vahetuse_hind _ $ _ € pole õige. Eelistage seda nimetada: vahetuse_hind_dollari_euro
- Puuduvate väärtuste jaoks kasutage NA; peame vormingu hiljem puhastama.
Kokkuvõte
Järgmine tabel võtab kokku funktsiooni, mida tuleb kasutada R-tüüpi erinevat tüüpi failide importimiseks. Esimene veerg näitab funktsiooniga seotud teeki. Viimane veerg viitab vaikeargumendile.
Raamatukogu |
Eesmärk |
Funktsioon |
Vaikeargumendid |
---|---|---|---|
utiliidid |
CSV-faili lugemine |
read.csv () |
fail, päis =, TÕENE, sep = "," |
loexl |
Loe EXCEL-faili |
read_excel () |
tee, vahemik = NULL, veergude_nimed = TRUE |
varjupaik |
SAS-faili lugemine |
read_sas () |
tee |
varjupaik |
STATA-faili lugemine |
read_stata () |
tee |
varjupaik |
Lugege SPSS-i juhendit |
read_sav () |
tee |
Järgmine tabel näitab funktsiooni read_excel () abil valiku importimise erinevaid võimalusi.
Funktsioon |
Eesmärgid |
Argumendid |
---|---|---|
read_excel () |
Loe n ridade arvu |
n_max = 10 |
Valige read ja veerud nagu Excelis |
vahemik = "A1: D10" |
|
Valige indeksitega read |
vahemik = lahtrid (1: 3) |
|
Valige tähtedega veerud |
vahemik = cell_cols ("A: C") |