Uvoz podatkov v R: branje datotek CSV, Excel, SPSS, Stata, SAS

Kazalo:

Anonim

Podatki bi lahko obstajali v različnih oblikah. Za vsak format R ima določeno funkcijo in argument. Ta vadnica razlaga, kako uvoziti podatke v R.

V tej vadnici boste izvedeli

  • Preberite CSV
  • Preberite datoteke Excel
  • readxl_example ()
  • read_excel ()
  • excel_sheets ()
  • Uvozite podatke iz druge statistične programske opreme
  • Preberi sas
  • Preberite STATA
  • Preberite SPSS
  • Najboljše prakse za uvoz podatkov

Preberite CSV

Ena najpogosteje shranjenih podatkov je oblika datoteke .csv (vrednosti, ločene z vejico). R med zagonom naloži vrsto knjižnic, vključno s paketom utils. Ta paket je primeren za odpiranje datotek CSV v kombinaciji s funkcijo read.csv (). Tu je sintaksa za read.csv

read.csv(file, header = TRUE, sep = ",")

Argument :

  • datoteka : POT, kjer je datoteka shranjena
  • header : potrdite, ali ima datoteka glavo ali ne, privzeto je glava nastavljena na TRUE
  • sep : simbol, ki se uporablja za razdelitev spremenljivke. Privzeto je `,`.

Prebrali bomo ime podatkovne datoteke mtcats. Datoteka csv je shranjena v spletu. Če je datoteka .csv shranjena lokalno, lahko PATH nadomestite v delčku kode. Ne pozabite ga zaviti noter ''. PATH mora biti nizna vrednost.

Za uporabnika mac je pot do mape za prenos:

 "/Users/USERNAME/Downloads/FILENAME.csv"

Za uporabnika sistema Windows:

"C:\Users\USERNAME\Downloads\FILENAME.csv"

Upoštevajte, da moramo vedno določiti končnico imena datoteke.

  • .csv
  • .xlsx
  • .txt
  • ...
PATH <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/mtcars.csv'df <- read.csv(PATH, header = TRUE, sep = ',')length(df)

Izhod:

## [1] 12
class(df$X)

Izhod:

## [1] "factor"

R privzeto vrne vrednosti znakov kot faktor. To nastavitev lahko izklopimo tako, da dodamo 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)

Izhod:

## [1] "character"

Razred za spremenljivko X je zdaj znak.

Preberite datoteke Excel

Datoteke Excel so zelo priljubljene med analitiki podatkov. S preglednicami je enostavno delati in jih prilagoditi. R je opremljen s knjižnico readxl za uvoz Excelove preglednice.

Uporabite to kodo

require(readxl)

da preverite, ali je v vaši napravi nameščen readxl. Če r namestite z r-conda-bistvom, je knjižnica že nameščena. V ukaznem oknu bi morali videti:

Izhod:

Loading required package: readxl. 

Če paket ne izstopi, ga lahko namestite s knjižnico conda ali v terminalu, uporabite conda install -c mittner r-readxl.

Z naslednjim ukazom naložite knjižnico za uvoz datotek excel.

library(readxl)

readxl_example ()

V tej vadnici uporabljamo primere, vključene v paket readxl.

Uporabite kodo

readxl_example()

če si želite ogledati vse razpoložljive preglednice v knjižnici.

Če želite preveriti lokacijo preglednice z imenom clippy.xls, preprosto uporabite

readxl_example("geometry.xls")

Če namestite R s condo, se preglednice nahajajo v Anaconda3 / lib / R / library / readxl / extdata / filename.xls

read_excel ()

Funkcija read_excel () je zelo koristna pri odpiranju razširitev xls in xlsx.

Sintaksa je:

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

Preglednice lahko uvozimo iz knjižnice readxl in preštejemo število stolpcev na prvem listu.

# Store the path of `datasets.xlsx`example <- readxl_example("datasets.xlsx")# Import the spreadsheetdf <- read_excel(example)# Count the number of columnslength(df)

Izhod:

## [1] 5

excel_sheets ()

Datoteka datasets.xlsx je sestavljena iz 4 listov. Kateri listi so na voljo v delovnem zvezku, lahko ugotovimo s pomočjo funkcije excel_sheets ()

example <- readxl_example("datasets.xlsx")

excel_sheets(example)

Izhod:

[1] "iris" "mtcars" "chickwts" "quakes"

Če delovni list vključuje veliko listov, je z argumenti listov enostavno izbrati določen list. Določimo lahko ime lista ali indeks lista. Preverimo lahko, ali obe funkciji vrneta enak izhod z enakim ().

example <- readxl_example("datasets.xlsx")quake <- read_excel(example, sheet = "quakes")quake_1 <-read_excel(example, sheet = 4)identical(quake, quake_1)

Izhod:

## [1] TRUE

Katere celice naj beremo, lahko nadzorujemo na dva načina

  1. Za vrnitev n vrstic uporabite argument n_max
  2. Uporabite argument obsega v kombinaciji z vrsticami celic ali celic_koli

Na primer, n_max nastavimo na 5, da uvozimo prvih pet vrstic.

# Read the first five row: with headeriris <-read_excel(example, n_max =5, col_names =TRUE)

Če spremenimo col_names v FALSE, R samodejno ustvari glave.

# Read the first five row: without headeriris_no_header <-read_excel(example, n_max =5, col_names =FALSE)

iris_no_header

V podatkovnem okviru iris_no_header je R ustvaril pet novih spremenljivk z imenom X__1, X__2, X__3, X__4 in X__5

Obseg argumentov lahko uporabimo tudi za izbiro vrstic in stolpcev v preglednici. V spodnji kodi s slogom excel izberemo obseg od A1 do B5.

# Read rows A1 to B5example_1 <-read_excel(example, range = "A1:B5", col_names =TRUE)dim(example_1)

Izhod:

## [1] 4 2

Vidimo lahko, da example_1 vrne 4 vrstice z 2 stolpcema. Nabor podatkov ima glavo, zaradi katere je dimenzija 4x2.

V drugem primeru uporabimo funkcijo cell_rows (), ki nadzoruje obseg vrstic, ki jih je treba vrniti. Če želimo uvoziti vrstice od 1 do 5, lahko nastavimo celice_row (1: 5). Upoštevajte, da cell_rows (1: 5) vrne enak izhod kot cell_rows (5: 1).

# Read rows 1 to 5example_2 <-read_excel(example, range =cell_rows(1:5),col_names =TRUE)dim(example_2)

Izhod:

## [1] 4 5

Primer_2 pa je matrika 4x5. Nabor podatkov šarenice ima 5 stolpcev z glavo. Vrnemo prve štiri vrstice z glavo vseh stolpcev

V primeru, da želimo uvoziti vrstice, ki se ne začnejo v prvi vrstici, moramo vključiti col_names = FALSE. Če uporabimo range = cell_rows (2: 5), postane očitno, da naš podatkovni okvir nima več glave.

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)

Izhod:

## [1] 150 2 

Opomba: range = cell_cols ("A: B"), vrne izhod vse celice z ne-null vrednostjo. Nabor podatkov vsebuje 150 vrstic, zato read_excel () vrne vrstice do 150. To se preveri s funkcijo dim ().

read_excel () vrne NA, ko se v celici prikaže simbol brez številčne vrednosti. Število manjkajočih vrednosti lahko preštejemo s kombinacijo dveh funkcij

  1. vsota
  2. je.na

Tu je koda

iris_na <-read_excel(example, na ="setosa")sum(is.na(iris_na))

Izhod:

## [1] 50

Manjka nam 50 vrednosti, to so vrstice, ki pripadajo vrsti setosa.

Uvozite podatke iz druge statistične programske opreme

S paketom nebes bomo uvozili različne datoteke. Ta paket podpira programsko opremo SAS, STATA in SPSS. Glede na razširitev datoteke lahko za odpiranje različnih vrst nabora podatkov uporabimo naslednjo funkcijo:

  • SAS: read_sas ()
  • STATA: read_dta () (ali read_stata (), ki sta enaki)
  • SPSS: read_sav () ali read_por (). Preveriti moramo podaljšanje

Znotraj te funkcije je potreben samo en argument. Vedeti moramo POT, kjer je datoteka shranjena. To je to, pripravljeni smo odpreti vse datoteke iz SAS, STATA in SPSS. Te tri funkcije sprejemajo tudi URL.

library(haven)

pristanišče je opremljeno s conda r-bistveno, sicer pojdite na povezavo ali v terminalu conda install -c conda-forge r-haven

Preberi sas

Za naš primer bomo uporabili sprejemni niz podatkov iz IDRE.

PATH_sas <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.sas7bdat?raw=true'df <- read_sas(PATH_sas)head(df)

Izhod:

## # 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

Preberite STATA

Za podatkovne datoteke STATA lahko uporabite read_dta (). Uporabljamo popolnoma enak nabor podatkov, vendar ga shranimo v datoteko .dta.

PATH_stata <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.dta?raw=true'df <- read_dta(PATH_stata)head(df)

Izhod:

## # 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

Preberite SPSS

Za odpiranje datoteke SPSS uporabljamo funkcijo read_sav (). Razširitev datoteke ".sav"

PATH_spss <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.sav?raw=true'df <- read_sav(PATH_spss)head(df)

Izhod:

## # 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

Najboljše prakse za uvoz podatkov

Ko želimo uvoziti podatke v R, je koristno izvesti naslednji kontrolni seznam. Poenostavil bo pravilno uvoz podatkov v R:

  • Tipična oblika preglednice je uporaba prvih vrstic kot glave (običajno ime spremenljivk).
  • Izogibajte poimenovanju nabora podatkov s praznimi presledki; lahko vodi do interpretacije kot ločene spremenljivke. Druga možnost je, da raje uporabite '_' ali '-.'
  • Kratka imena so zaželena
  • V ime ne vključite simbola: tj: izmenjava_stopa _ $ _ € ni pravilna Raje ga poimenujte: exchange_rate_dollar_euro
  • V nasprotnem primeru uporabite NA za manjkajoče vrednosti; obliko moramo očistiti pozneje.

Povzetek

V spodnji tabeli je povzeta funkcija, ki se uporablja za uvoz različnih vrst datotek v R. V prvem stolpcu je navedena knjižnica, povezana s funkcijo. Zadnji stolpec se nanaša na privzeti argument.

Knjižnica

Cilj

Funkcija

Privzeti argumenti

utils

Preberite datoteko CSV

read.csv ()

datoteka, glava =, TRUE, sep = ","

readxl

Preberite datoteko EXCEL

read_excel ()

pot, obseg = NULL, col_names = TRUE

zatočišče

Preberite datoteko SAS

read_sas ()

pot

zatočišče

Preberite datoteko STATA

read_stata ()

pot

zatočišče

Preberite SPSS file

read_sav ()

pot

Naslednja tabela prikazuje različne načine uvoza izbora s funkcijo read_excel ().

Funkcija

Cilji

Argumenti

read_excel ()

Preberite n števila vrstic

n_max = 10

Izberite vrstice in stolpce, kot v Excelu

range = "A1: D10"

Izberite vrstice z indeksi

obseg = vrstice_ celic (1: 3)

Izberite stolpce s črkami

range = cell_cols ("A: C")