Importuoti duomenis į R: skaitykite CSV, „Excel“, SPSS, „Stata“, SAS failus

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

  1. Norėdami grąžinti n eilučių, naudokite argumentą n_max
  2. 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

  1. suma
  2. 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")

Įdomios straipsniai...