Import údajov do R: Čítajte súbory CSV, Excel, SPSS, Stata, SAS

Obsah:

Anonim

Údaje môžu existovať v rôznych formátoch. Pre každý formát má R špecifickú funkciu a argument. Tento tutoriál vysvetľuje, ako importovať údaje do R.

V tomto návode sa naučíte

  • Prečítajte si CSV
  • Čítajte súbory programu Excel
  • readxl_example ()
  • read_excel ()
  • excel_sheets ()
  • Importujte údaje z iného štatistického softvéru
  • Prečítajte si sas
  • Prečítajte si STATA
  • Prečítajte si SPSS
  • Osvedčené postupy pre import údajov

Prečítajte si CSV

Jedným z najrozšírenejších dátových úložísk sú formáty súborov .csv (hodnoty oddelené čiarkou). Počas načítania R načíta pole knižníc vrátane balíka utils. Tento balík je vhodný na otváranie súborov CSV kombinovaných s funkciou reading.csv (). Tu je syntax súboru read.csv

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

Argument :

  • file : PATH, kde je súbor uložený
  • hlavička : potvrdí, či má súbor hlavičku alebo nie, v predvolenom nastavení je hlavička nastavená na TRUE
  • sep : symbol použitý na rozdelenie premennej. Predvolene `,`.

Budeme čítať názov dátového súboru mtcats. Súbor CSV je uložený online. Ak je váš súbor .csv uložený lokálne, môžete nahradiť PATH v útržku kódu. Nezabudnite to zabaliť dovnútra “. PATH musí byť reťazcová hodnota.

Pre používateľov počítačov Mac je cesta k priečinku na stiahnutie:

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

Pre používateľov systému Windows:

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

Upozorňujeme, že by sme mali vždy určiť príponu názvu súboru.

  • .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ýkon:

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

Výkon:

## [1] "factor"

R, v predvolenom nastavení, vracia hodnoty znakov ako faktor. Toto nastavenie môžeme vypnúť pridaním reťazca 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)

Výkon:

## [1] "character"

Triedou pre premennú X je teraz znak.

Čítajte súbory programu Excel

Súbory Excel sú medzi analytikmi dát veľmi populárne. S tabuľkami sa pracuje ľahko a sú flexibilné. R je vybavený knižnicou readxl na import tabuľky Excel.

Použite tento kód

require(readxl)

skontrolovať, či je vo vašom počítači nainštalovaný súbor readxl. Ak inštalujete r s r-conda-essential, knižnica je už nainštalovaná. V príkazovom okne by ste mali vidieť:

Výkon:

Loading required package: readxl. 

Ak sa balík neopustí, môžete ho nainštalovať pomocou knižnice conda alebo do terminálu, použite conda install -c mittner r-readxl.

Pomocou nasledujúceho príkazu načítajte knižnicu a importujte súbory programu Excel.

library(readxl)

readxl_example ()

Počas tohto tutoriálu používame príklady obsiahnuté v balíku readxl.

Použite kód

readxl_example()

a zobrazia sa všetky dostupné tabuľky v knižnici.

Jednoduché umiestnenie môžete skontrolovať pomocou tabuľky s názvom clippy.xls

readxl_example("geometry.xls")

Ak inštalujete R s conda, tabuľky sa nachádzajú v Anaconda3 / lib / R / library / readxl / extdata / filename.xls

read_excel ()

Funkcia read_excel () je veľmi užitočná pri otváraní rozšírení xls a xlsx.

Syntax 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

Môžeme importovať tabuľky z knižnice readxl a spočítať počet stĺpcov v prvom hárku.

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

Výkon:

## [1] 5

excel_sheets ()

Súbor datasets.xlsx sa skladá zo 4 hárkov. Pomocou funkcie excel_sheets () môžeme zistiť, ktoré listy sú v zošite k dispozícii

example <- readxl_example("datasets.xlsx")

excel_sheets(example)

Výkon:

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

Ak pracovný hárok obsahuje veľa hárkov, je ľahké vybrať konkrétny hárok pomocou argumentov hárka. Môžeme určiť názov hárku alebo index hárka. Môžeme overiť, či obidve funkcie vracajú rovnaký výstup s totožnou ().

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

Výkon:

## [1] TRUE

To, čo bunky majú čítať, môžeme ovládať dvoma spôsobmi

  1. Na vrátenie n riadkov použite argument n_max
  2. Použite argument rozsahu v kombinácii s cell_rows alebo cell_cols

Napríklad nastavíme n_max sa rovná 5, aby sa importovalo prvých päť riadkov.

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

Ak zmeníme col_names na FALSE, R vytvorí hlavičky automaticky.

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

iris_no_header

V dátovom rámci iris_no_header vytvoril R päť nových premenných s názvom X__1, X__2, X__3, X__4 a X__5

Na výber riadkov a stĺpcov v tabuľke môžeme použiť aj rozsah argumentov. V nižšie uvedenom kóde používame štýl programu Excel na výber rozsahu A1 až B5.

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

Výkon:

## [1] 4 2

Vidíme, že príklad_1 vracia 4 riadky s 2 stĺpcami. Dataset má hlavičku, ktorá má rozmer 4x2.

V druhom príklade používame funkciu cell_rows (), ktorá riadi rozsah riadkov, ktoré sa majú vrátiť. Ak chceme importovať riadky 1 až 5, môžeme nastaviť cell_rows (1: 5). Upozorňujeme, že funkcia cell_rows (1: 5) vracia rovnaký výstup ako 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ýkon:

## [1] 4 5

Príkladom_2 je však matica 4x5. Sada údajov o dúhovke má 5 stĺpcov s hlavičkou. Prvé štyri riadky vrátime so záhlavím všetkých stĺpcov

V prípade, že chceme importovať riadky, ktoré sa nezačínajú od prvého riadku, musíme zahrnúť col_names = FALSE. Ak použijeme range = cell_rows (2: 5), je zrejmé, že náš dátový rámec už nemá hlavičku.

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ýkon:

## [1] 150 2 

Poznámka: range = cell_cols ("A: B"), vráti výstup všetkých buniek s nenulovou hodnotou. Dátová sada obsahuje 150 riadkov, preto read_excel () vráti riadky až 150. Toto sa overuje funkciou dim ().

read_excel () vráti NA, keď sa v bunke objaví symbol bez číselnej hodnoty. Počet chýbajúcich hodnôt môžeme spočítať kombináciou dvoch funkcií

  1. súčet
  2. is.na

Tu je kód

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

Výkon:

## [1] 50

Chýba nám 50 hodnôt, čo sú riadky patriace k druhu setosa.

Importujte údaje z iného štatistického softvéru

S balíkom heaven importujeme rôzne formáty súborov. Tento balík podporuje softvér SAS, STATA a SPSS. Nasledujúcu funkciu môžeme použiť na otvorenie rôznych typov množiny údajov podľa prípony súboru:

  • SAS: read_sas ()
  • STATA: read_dta () (alebo read_stata (), ktoré sú identické)
  • SPSS: read_sav () alebo read_por (). Musíme skontrolovať rozšírenie

V rámci tejto funkcie je vyžadovaný iba jeden argument. Musíme poznať CESTU, kde je súbor uložený. To je všetko, sme pripravení otvoriť všetky súbory zo SAS, STATA a SPSS. Tieto tri funkcie akceptujú aj URL.

library(haven)

útočisko je dodávané s conda r-essential, inak choďte na odkaz alebo do terminálu conda install -c conda-forge r-haven

Prečítajte si sas

Pre náš príklad použijeme množinu údajov o prijatí z IDRE.

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

Výkon:

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

Prečítajte si STATA

Pre dátové súbory STATA môžete použiť read_dta (). Používame presne ten istý súbor údajov, ale ukladáme ho do súboru .dta.

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

Výkon:

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

Prečítajte si SPSS

Na otvorenie súboru SPSS používame funkciu read_sav (). Prípona súboru „.sav“

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

Výkon:

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

Osvedčené postupy pre import údajov

Ak chceme importovať dáta do R, je užitočné implementovať nasledujúci kontrolný zoznam. Uľahčí to správny import údajov do R:

  • Typickým formátom tabuľky je použitie prvých riadkov ako hlavičky (zvyčajne názov premenných).
  • Nezamieňajte množinu údajov s prázdnymi medzerami; môže to viesť k interpretácii ako samostatnej premennej. Prípadne radšej použite „_“ alebo „-.“
  • Uprednostňujú sa krátke mená
  • Do názvu neuvádzajte symbol: tj. Výmenná_sadzba _ $ _ € nie je správna. Radšej to pomenujte: exchange_rate_dollar_euro
  • V opačnom prípade použite NA pre chýbajúce hodnoty; musíme formát neskôr vyčistiť.

Zhrnutie

Nasledujúca tabuľka sumarizuje funkciu, ktorá sa má použiť na import rôznych typov súborov do R. V prvom stĺpci sa uvádza knižnica súvisiaca s funkciou. Posledný stĺpec odkazuje na predvolený argument.

Knižnica

Cieľ

Funkcia

Predvolené argumenty

náradie

Prečítajte si súbor CSV

read.csv ()

súbor, hlavička =, TRUE, sep = ","

readxl

Prečítajte si súbor EXCEL

read_excel ()

cesta, rozsah = NULL, col_names = TRUE

útočisko

Prečítajte si súbor SAS

read_sas ()

cesta

útočisko

Prečítajte si súbor STATA

read_stata ()

cesta

útočisko

Prečítajte si SPSS fille

read_sav ()

cesta

Nasledujúca tabuľka zobrazuje rôzne spôsoby importovania výberu pomocou funkcie read_excel ().

Funkcia

Ciele

Argumenty

read_excel ()

Prečítajte si n počet riadkov

n_max = 10

Vyberte riadky a stĺpce ako v programe Excel

rozsah = "A1: D10"

Vyberte riadky s indexmi

range = cell_rows (1: 3)

Vyberte stĺpce s písmenami

range = cell_cols ("A: C")