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
- Az n_max argumentum segítségével n sort adhat vissza
- 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
- összeg
- 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") |