Duomenys gali būti įvairiais formatais. Kiekvienam formatui R turi tam tikrą funkciją ir argumentą. Šioje pamokoje paaiškinta, kaip importuoti duomenis į „R“.
Šioje pamokoje sužinosite
- Perskaitykite CSV
- Skaityti „Excel“ failus
- readxl_example ()
- read_excel ()
- excel_sheets ()
- Importuoti duomenis iš kitos statistikos programinės įrangos
- Skaityk sas
- Perskaitykite STATA
- Perskaitykite SPSS
- Geriausia duomenų importavimo praktika
Perskaitykite CSV
Vienas iš labiausiai duomenų saugyklų yra .csv (kableliais atskirtos vertės) failų formatai. R paleidimo metu įkelia daugybę bibliotekų, įskaitant „utils“ paketą. Šis paketas yra patogus atidaryti csv failus kartu su funkcija read.csv (). Čia yra read.csv sintaksė
read.csv(file, header = TRUE, sep = ",")
Argumentas :
- failas : PATH, kuriame saugomas failas
- antraštė : patvirtinkite, ar faile yra antraštė, ar ne, pagal numatytuosius nustatymus antraštė nustatyta į TRUE
- sep : simbolis, naudojamas kintamajam padalinti. Pagal numatytuosius nustatymus ",".
Perskaitysime duomenų failo pavadinimą mtcats. Csv failas saugomas internete. Jei jūsų .csv failas saugomas vietoje, kodo fragmente esančią PATH galite pakeisti. Nepamirškite įsukti į vidų “. PATH turi būti eilutės reikšmė.
„Mac“ vartotojui atsisiuntimo aplanko kelias yra:
"/Users/USERNAME/Downloads/FILENAME.csv"
„Windows“ vartotojui:
"C:\Users\USERNAME\Downloads\FILENAME.csv"
Atminkite, kad visada turėtume nurodyti failo vardo plėtinį.
- .csv
- .xlsx
- .txt
- …
PATH <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/mtcars.csv'df <- read.csv(PATH, header = TRUE, sep = ',')length(df)
Išvestis:
## [1] 12
class(df$X)
Išvestis:
## [1] "factor"
R pagal numatytuosius nustatymus grąžina simbolių reikšmes kaip koeficientą. Šį nustatymą galime išjungti pridėdami 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)
Išvestis:
## [1] "character"
Kintamojo X klasė dabar yra simbolis.
Skaityti „Excel“ failus
„Excel“ failai yra labai populiarūs tarp duomenų analitikų. Skaičiuoklės yra lengvai naudojamos ir lanksčios. R yra įdiegta biblioteka „readxl“, kad būtų galima importuoti „Excel“ skaičiuoklę.
Naudokite šį kodą
require(readxl)
norėdami patikrinti, ar jūsų kompiuteryje įdiegta „readxl“. Jei įdiegsite „r“ su „r-conda-essential“, biblioteka jau įdiegta. Komandų lange turėtumėte pamatyti:
Išvestis:
Loading required package: readxl.
Jei paketas neišeina, galite jį įdiegti „conda“ bibliotekoje arba terminale, naudokite „conda install -c mittner r-readxl“.
Norėdami įkelti biblioteką, kad importuotumėte „Excel“ failus, naudokite šią komandą.
library(readxl)
readxl_example ()
Šioje pamokoje naudojame pavyzdžius, pateiktus pakete readxl.
Naudokite kodą
readxl_example()
norėdami pamatyti visas turimas skaičiuokles bibliotekoje.
Paprasta naudoti, jei norite patikrinti skaičiuoklės, pavadintos clippy.xls, vietą
readxl_example("geometry.xls")
Jei įdiegiate „R“ su „conda“, skaičiuoklės yra Anaconda3 / lib / R / library / readxl / extdata / filename.xls
read_excel ()
Funkcija read_excel () yra labai naudinga atidarant xls ir xlsx.
Sintaksė yra:
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
Mes galime importuoti skaičiuokles iš „readxl“ bibliotekos ir suskaičiuoti pirmojo lapo stulpelių skaičių.
# Store the path of `datasets.xlsx`example <- readxl_example("datasets.xlsx")# Import the spreadsheetdf <- read_excel(example)# Count the number of columnslength(df)
Išvestis:
## [1] 5
excel_sheets ()
Failą „datasets.xlsx“ sudaro 4 lapai. Kurie lapai yra darbaknygėje, galime sužinoti naudodami funkciją excel_sheets ()
example <- readxl_example("datasets.xlsx")excel_sheets(example)
Išvestis:
[1] "iris" "mtcars" "chickwts" "quakes"
Jei darbalapyje yra daug lapų, naudojant lapo argumentus lengva pasirinkti konkretų lapą. Mes galime nurodyti lapo pavadinimą arba lapo rodyklę. Mes galime patikrinti, ar abi funkcijos grąžina tą patį išėjimą su identišku ().
example <- readxl_example("datasets.xlsx")quake <- read_excel(example, sheet = "quakes")quake_1 <-read_excel(example, sheet = 4)identical(quake, quake_1)
Išvestis:
## [1] TRUE
Mes galime kontroliuoti, kokias ląsteles skaityti, dviem būdais
- Norėdami grąžinti n eilučių, naudokite argumentą n_max
- Naudokite diapazono argumentą kartu su „cell_rows“ arba „cell_cols“
Pavyzdžiui, mes nustatėme n_max lygu 5, kad importuotume pirmąsias penkias eilutes.
# Read the first five row: with headeriris <-read_excel(example, n_max =5, col_names =TRUE)
Jei pakeisime col_names į FALSE, R automatiškai sukuria antraštes.
# Read the first five row: without headeriris_no_header <-read_excel(example, n_max =5, col_names =FALSE)
iris_no_header
Duomenų rėmelyje „iris_no_header“ R sukūrė penkis naujus kintamuosius, pavadintus X__1, X__2, X__3, X__4 ir X__5
Mes taip pat galime naudoti argumentų diapazoną, norėdami pasirinkti eilučių ir stulpelių skaičiuoklę. Žemiau pateiktame kode mes naudojame „Excel“ stilių, kad pasirinktume diapazoną nuo A1 iki B5.
# Read rows A1 to B5example_1 <-read_excel(example, range = "A1:B5", col_names =TRUE)dim(example_1)
Išvestis:
## [1] 4 2
Matome, kad example_1 pateikia 4 eilutes su 2 stulpeliais. Duomenų rinkinyje yra antraštė, kad matmens priežastis yra 4x2.
Antrame pavyzdyje mes naudojame funkciją cell_rows (), kuri valdo grįžtamų eilučių diapazoną. Jei norime importuoti 1–5 eilutes, galime nustatyti cell_rows (1: 5). Atminkite, kad „cell_rows“ (1: 5) pateikia tą patį išėjimą kaip „cell_rows“ (5: 1).
# Read rows 1 to 5example_2 <-read_excel(example, range =cell_rows(1:5),col_names =TRUE)dim(example_2)
Išvestis:
## [1] 4 5
Tačiau pavyzdys_2 yra 4x5 matrica. Rainelės duomenų rinkinyje yra 5 stulpeliai su antrašte. Grąžiname pirmąsias keturias eilutes su visų stulpelių antrašte
Jei norime importuoti eilutes, kurios prasideda ne pirmoje eilutėje, turime įtraukti col_names = FALSE. Jei naudosime range = cell_rows (2: 5), tampa akivaizdu, kad mūsų duomenų rėmelyje nebėra antraštės.
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)
Išvestis:
## [1] 150 2
Pastaba: diapazonas = cell_cols ("A: B") grąžina visų langelių išvestį su nuline verte. Duomenų rinkinyje yra 150 eilučių, todėl read_excel () pateikia eilutes iki 150. Tai patikrinama naudojant dim () funkciją.
read_excel () grąžina NA, kai langelyje pasirodo simbolis be skaitinės vertės. Trūkstamų reikšmių skaičių galime suskaičiuoti derinant dvi funkcijas
- suma
- is.na
Čia yra kodas
iris_na <-read_excel(example, na ="setosa")sum(is.na(iris_na))
Išvestis:
## [1] 50
Mums trūksta 50 verčių, kurios yra setozų rūšims priklausančios eilutės.
Importuoti duomenis iš kitos statistikos programinės įrangos
Importuosime skirtingų failų formatą su dangaus paketu. Šis paketas palaiko SAS, STATA ir SPSS programines įrangą. Atsižvelgdami į failo plėtinį, galime naudoti šią funkciją, norėdami atidaryti skirtingų tipų duomenų rinkinį:
- SAS: read_sas ()
- STATA: read_dta () (arba read_stata (), kurios yra tapačios)
- SPSS: skaityti_sav () arba skaityti_porą (). Turime patikrinti pratęsimą
Šioje funkcijoje reikalingas tik vienas argumentas. Turime žinoti kelią, kuriame saugomas failas. Viskas, mes esame pasirengę atidaryti visus failus iš SAS, STATA ir SPSS. Šios trys funkcijos taip pat priima URL.
library(haven)
prieglauda ateina su „conda r-essential“, kitaip eikite į nuorodą arba terminale conda install -c conda-forge r-haven
Skaityk sas
Pavyzdžiui, mes naudosime IDRE priėmimo duomenų rinkinį.
PATH_sas <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.sas7bdat?raw=true'df <- read_sas(PATH_sas)head(df)
Išvestis:
## # 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
Perskaitykite STATA
STATA duomenų failams galite naudoti read_dta (). Mes naudojame tą patį duomenų rinkinį, bet saugome .dta faile.
PATH_stata <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.dta?raw=true'df <- read_dta(PATH_stata)head(df)
Išvestis:
## # 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
Perskaitykite SPSS
Mes naudojame funkciją read_sav (), kad atidarytume SPSS failą. Failo plėtinys ".sav"
PATH_spss <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.sav?raw=true'df <- read_sav(PATH_spss)head(df)
Išvestis:
## # 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
Geriausia duomenų importavimo praktika
Kai norime importuoti duomenis į „R“, naudinga įdiegti šį kontrolinį sąrašą. Tai leis lengvai teisingai importuoti duomenis į „R“:
- Tipiškas skaičiuoklės formatas yra naudoti pirmąsias eilutes kaip antraštę (paprastai kintamųjų pavadinimas).
- Venkite įvardyti duomenų rinkinį su tuščiais tarpais; tai gali paskatinti interpretuoti kaip atskirą kintamąjį. Arba naudokite „_“ arba „-“.
- Pageidautina trumpų pavadinimų
- Į pavadinimą neįtraukite simbolio: ty: main_rate _ $ _ € nėra teisingas. Mieliau jį pavadinkite: exchange_rate_dollar_euro
- Priešingu atveju naudokite NA trūkstamoms vertėms; vėliau turime išvalyti formatą.
Santrauka
Šioje lentelėje apibendrinta funkcija, kurią reikia naudoti norint importuoti skirtingų tipų failus į R. Pirmame stulpelyje nurodoma biblioteka, susijusi su funkcija. Paskutinis stulpelis nurodo numatytąjį argumentą.
Biblioteka |
Tikslas |
Funkcija |
Numatytieji argumentai |
---|---|---|---|
utils |
Skaityti CSV failą |
skaityti.csv () |
failas, antraštė =, TRUE, sep = "," |
perskaityti |
Perskaitykite EXCEL failą |
read_excel () |
kelias, diapazonas = NULL, col_names = TRUE |
prieglauda |
Perskaitykite SAS failą |
read_sas () |
kelias |
prieglauda |
Perskaitykite STATA failą |
read_stata () |
kelias |
prieglauda |
Perskaitykite SPSS nuorodą |
read_sav () |
kelias |
Šioje lentelėje pateikiami įvairūs pasirinkimo importavimo su read_excel () funkcija būdai.
Funkcija |
Tikslai |
Argumentai |
---|---|---|
read_excel () |
Perskaitykite n eilučių skaičių |
n_max = 10 |
Pasirinkite eilutes ir stulpelius kaip ir „Excel“ |
diapazonas = "A1: D10" |
|
Pasirinkite eilutes su rodyklėmis |
diapazonas = langelių_ eilutės (1: 3) |
|
Pasirinkite stulpelius su raidėmis |
range = cell_cols ("A: C") |