Adatok importálása R-be: CSV, Excel, SPSS, Stata, SAS fájlok olvasása

Tartalomjegyzék:

Anonim

Az adatok különféle formátumokban létezhetnek. Minden formátum esetében az R-nek van egy sajátos függvénye és argumentuma. Ez az oktatóanyag elmagyarázza, hogyan importálhat adatokat R-be.

Ebben az oktatóanyagban megtanulja

  • Olvassa el a CSV-t
  • Olvassa el az Excel fájlokat
  • readxl_example ()
  • read_excel ()
  • excel_sheets ()
  • Adatok importálása más statisztikai szoftverekből
  • Olvassa sas
  • Olvassa el a STATA-t
  • Olvassa el az SPSS-t
  • Az adatimportálás bevált módszerei

Olvassa el a CSV-t

Az egyik legszélesebb adattár a .csv (vesszővel elválasztott értékek) fájlformátumok. R az indítás során egy sor könyvtárat tölt be, beleértve az utils csomagot is. Ez a csomag kényelmes a csv fájlok megnyitására a read.csv () függvénnyel kombinálva. Itt található a read.csv szintaxisa

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

Érv :

  • fájl : PATH, ahol a fájlt tárolják
  • fejléc : ellenőrizze, hogy a fájl rendelkezik-e fejléccel vagy sem, alapértelmezés szerint a fejléc értéke IGAZ
  • szep : a változó felosztásához használt szimbólum. Alapértelmezés szerint `,`.

Elolvassuk az mtcats adatállomány nevét. A csv fájl online tárolásra kerül. Ha a .csv fájlját helyben tárolja, akkor a kódrészletben levő PATH-t kicserélheti. Ne felejtsd el beledobni ”. A PATH karakterlánc értéknek kell lennie.

Mac-felhasználók esetében a letöltési mappa elérési útja a következő:

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

Windows felhasználó számára:

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

Ne feledje, hogy mindig meg kell adnunk a fájlnév kiterjesztését.

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

Kimenet:

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

Kimenet:

## [1] "factor"

R alapértelmezés szerint a karakterértékeket adja vissza tényezőként. A stringsAsFactors = FALSE hozzáadásával kikapcsolhatjuk ezt a beállítást.

PATH <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/mtcars.csv'df <-read.csv(PATH, header =TRUE, sep = ',', stringsAsFactors =FALSE)class(df$X)

Kimenet:

## [1] "character"

Az X változó osztálya most már karakter.

Olvassa el az Excel fájlokat

Az Excel-fájlok nagyon népszerűek az adatelemzők körében. A táblázatok használata egyszerű és rugalmas. R fel van szerelve egy readxl könyvtárral az Excel táblázat importálásához.

Használja ezt a kódot

require(readxl)

hogy ellenőrizze, hogy a readxl telepítve van-e a gépére. Ha r telepíti az r-conda-essential használatával, a könyvtár már telepítve van. A parancsablakban látnia kell:

Kimenet:

Loading required package: readxl. 

Ha a csomag nem lép ki, telepítheti a conda könyvtárba vagy a terminálba, használja a conda install -c mittner r-readxl parancsot.

A következő paranccsal töltse be a könyvtárat az Excel fájlok importálásához.

library(readxl)

readxl_example ()

Az oktatóanyag során a readxl csomagban szereplő példákat használjuk.

Használja a kódot

readxl_example()

hogy megtekinthesse az összes rendelkezésre álló táblázatot a könyvtárban.

A clippy.xls nevű táblázat helyének ellenőrzéséhez egyszerűen használja

readxl_example("geometry.xls")

Ha az R-t condával telepíti, akkor a táblázatok az Anaconda3 / lib / R / library / readxl / extdata / filename.xls fájlban találhatók.

read_excel ()

A read_excel () függvény nagy hasznát veszi az xls és az xlsx kiterjesztésének megnyitásakor.

A szintaxis a következő:

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

Importálhatjuk a táblázatokat a readxl könyvtárból, és megszámolhatjuk az első lap oszlopainak számát.

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

Kimenet:

## [1] 5

excel_sheets ()

A datasets.xlsx fájl 4 lapból áll. Az excel_sheets () függvény segítségével megtudhatjuk, hogy mely munkalapok állnak rendelkezésre a munkafüzetben

example <- readxl_example("datasets.xlsx")

excel_sheets(example)

Kimenet:

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

Ha egy munkalap sok lapot tartalmaz, könnyen kiválasztható egy adott lap a argumentumokkal. Megadhatjuk a lap nevét vagy a lap indexét. Ellenőrizhetjük, hogy mindkét függvény ugyanazt a kimenetet adja-e vissza ugyanazzal ().

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

Kimenet:

## [1] TRUE

Két módon ellenőrizhetjük, hogy mely sejteket kell elolvasni

  1. Az n_max argumentum segítségével n sort adhat vissza
  2. Használjon tartomány argumentumot a cellasorokkal vagy a cellakódokkal kombinálva

Például az n_max értéket 5-re állítjuk az első öt sor importálásához.

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

Ha a col_names-t FALSE-ra változtatjuk, R automatikusan létrehozza a fejléceket.

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

iris_no_header

Az iris_no_header adatkeretben R öt új változót hozott létre: X__1, X__2, X__3, X__4 és X__5

Az argumentumtartomány segítségével sorokat és oszlopokat is kiválaszthatunk a táblázatból. Az alábbi kódban az excel stílust választjuk ki az A1 és B5 tartományok kiválasztására.

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

Kimenet:

## [1] 4 2

Láthatjuk, hogy a example_1 4 sort ad vissza 2 oszloppal. Az adatkészlet fejléccel rendelkezik, hogy a dimenzió oka 4x2.

A második példában a cell_rows () függvényt használjuk, amely a visszatérési sorok tartományát szabályozza. Ha importálni akarjuk az 1–5. Sorokat, beállíthatjuk a cellasorokat (1: 5). Ne feledje, hogy a cellasorok (1: 5) ugyanazt a kimenetet adja vissza, mint a cellasorok (5: 1).

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

Kimenet:

## [1] 4 5

A példa_2 azonban egy 4x5 mátrix. Az írisz-adatkészlet 5 oszloppal rendelkezik, fejléccel. Visszaadjuk az első négy sort az összes oszlop fejlécével

Abban az esetben, ha olyan sorokat akarunk importálni, amelyek nem az első sornál kezdődnek, be kell építenünk a col_names = FALSE értéket. Ha a range = cell_rows (2: 5) értéket használjuk, akkor nyilvánvalóvá válik, hogy az adatkeretünknek már nincs fejléce.

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)

Kimenet:

## [1] 150 2 

Megjegyzés: range = cell_cols ("A: B"), az összes cella kimenetét nem null értékkel adja vissza. Az adatkészlet 150 sort tartalmaz, ezért a read_excel () 150-ig adja vissza a sorokat. Ezt a dim () függvénnyel ellenőrizzük.

A read_excel () akkor adja vissza az NA értéket, ha a cellában szimbólum jelenik meg számérték nélkül. Két funkció kombinációjával számolhatjuk a hiányzó értékek számát

  1. összeg
  2. is.na

Itt van a kód

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

Kimenet:

## [1] 50

50 értékünk hiányzik, amelyek a setosa fajok sorai.

Adatok importálása más statisztikai szoftverekből

Különböző fájlformátumokat fogunk importálni a mennyország csomaggal. Ez a csomag támogatja az SAS, a STATA és az SPSS szoftvereket. A következő függvény segítségével különböző típusú adathalmazokat nyithatunk meg, a fájl kiterjesztése szerint:

  • SAS: read_sas ()
  • STATA: read_dta () (vagy read_stata (), amelyek azonosak)
  • SPSS: read_sav () vagy read_por (). Ellenőriznünk kell a kiterjesztést

Csak egy argumentum szükséges ezen függvényen belül. Tudnunk kell a PATH-t, ahol a fájlt tároljuk. Ennyi, készen állunk az SAS, a STATA és az SPSS összes fájljának megnyitására. Ez a három funkció elfogad egy URL-t is.

library(haven)

haven jön a conda r-nélkül, különben lépjen a linkre vagy a terminálba conda install -c conda-forge r-haven

Olvassa sas

Példaként az IDRE felvételi adatkészletét fogjuk használni.

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

Kimenet:

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

Olvassa el a STATA-t

A STATA adatfájlokhoz használhatja a read_dta () parancsot. Pontosan ugyanazt az adatkészletet használjuk, de a .dta fájlban tároljuk.

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

Kimenet:

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

Olvassa el az SPSS-t

A read_sav () függvény segítségével megnyitjuk az SPSS fájlt. A .sav fájlkiterjesztés

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

Kimenet:

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

Az adatimportálás bevált módszerei

Ha adatokat akarunk importálni az R-be, akkor hasznos végrehajtani a következő ellenőrzőlistát. Ez megkönnyíti az adatok helyes importálását az R-be:

  • A táblázat tipikus formátuma az első sorok használata fejlécként (általában a változók neve).
  • Kerülje az üres halmazok megnevezését; külön változóként történő értelmezéshez vezethet. Alternatív megoldásként inkább a „_” vagy a „-.
  • A rövid neveket részesítik előnyben
  • Ne írja be a szimbólumot a névbe: azaz: az exchange_rate _ $ _ € nem megfelelő. Inkább nevezze meg: exchange_rate_dollar_euro
  • Egyébként használja az NA-t hiányzó értékekhez; később meg kell tisztítanunk a formátumot.

Összegzés

Az alábbi táblázat összefoglalja a különböző típusú fájlok R-be történő importálásához használandó függvényt. Az első oszlop a függvénnyel kapcsolatos könyvtárat tartalmazza. Az utolsó oszlop az alapértelmezett argumentumra utal.

Könyvtár

Célkitűzés

Funkció

Alapértelmezett érvek

utils

Olvassa el a CSV fájlt

read.csv ()

fájl, header =, IGAZ, sep = ","

readxl

Olvassa el az EXCEL fájlt

read_excel ()

elérési út, tartomány = NULL, oszlopnevek = IGAZ

menedékhely

Olvassa el a SAS fájlt

read_sas ()

pálya

menedékhely

Olvassa el a STATA fájlt

read_stata ()

pálya

menedékhely

Olvassa el az SPSS-fájlt

read_sav ()

pálya

Az alábbi táblázat bemutatja a kijelölés importálásának különböző módjait a read_excel () függvénnyel.

Funkció

Célkitűzések

Érvek

read_excel ()

N sorszám olvasása

n_max = 10

Válasszon sorokat és oszlopokat, mint az excelben

tartomány = "A1: D10"

Válassza ki az indexeket tartalmazó sorokat

tartomány = cellasorok (1: 3)

Válassza ki a betűkkel ellátott oszlopokat

range = cell_cols ("A: C")