Andmete importimine R-i: lugege CSV-, Exceli-, SPSS-, Stata-, SAS-faile

Lang L: none (table-of-contents):

Anonim

Andmed võivad eksisteerida erinevates vormingutes. Iga vormingu korral on R-l kindel funktsioon ja argument. Selles õpetuses selgitatakse, kuidas andmeid R-sse importida.

Selles õpetuses saate teada

  • Lugege CSV-d
  • Exceli failide lugemine
  • readxl_example ()
  • read_excel ()
  • excel_sheets ()
  • Andmete importimine muust statistikatarkvarast
  • Loe sas
  • Lugege STATA-d
  • Lugege SPSS-i
  • Andmete impordi parimad tavad

Lugege CSV-d

Üks laiemalt andmekogusid on .csv (komaga eraldatud väärtused) failivormingud. R laadib käivitamise ajal hulga teeke, sealhulgas paketi utils. See pakett on mugav CSV-failide avamiseks koos funktsiooniga read.csv (). Siin on read.csv süntaks

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

Argument :

  • fail : PATH, kuhu fail on salvestatud
  • päis : kontrollige, kas failil on päis või mitte, vaikimisi on päiseks seatud TRUE
  • sep : muutuja jagamiseks kasutatav sümbol. Vaikimisi `,`.

Me loeme andmefaili nime mtcats. Csv-fail on salvestatud võrgus. Kui teie .csv-fail on salvestatud kohapeal, saate koodilõigu sees asuva PATH-i asendada. Ärge unustage seda sisse keerata ". PATH peab olema stringi väärtus.

Maci kasutaja jaoks on allalaaditava kausta tee järgmine:

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

Windowsi kasutajale:

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

Pange tähele, et me peaksime alati määrama failinime laienduse.

  • .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äljund:

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

Väljund:

## [1] "factor"

R tagastab vaikimisi märgi väärtused tegurina. Selle sätte saame välja lülitada, lisades stringidAsFactors = 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äljund:

## [1] "character"

Muutuja X klass on nüüd märk.

Exceli failide lugemine

Exceli failid on andmeanalüütikute seas väga populaarsed. Arvutustabeleid on lihtne töötada ja need on paindlikud. R on Exceli arvutustabeli importimiseks varustatud teeki readxl.

Kasutage seda koodi

require(readxl)

et kontrollida, kas readxl on teie arvutisse installitud. Kui installite r koos r-conda-essentialiga, on teek juba installitud. Peaksite käsuaknas nägema:

Väljund:

Loading required package: readxl. 

Kui pakett ei välju, saate selle installida conda teeki või terminali, kasutage conda install -c mittner r-readxl.

Exceli failide importimiseks teegi laadimiseks kasutage järgmist käsku.

library(readxl)

readxl_example ()

Selle õpetuse käigus kasutame paketis readxl sisalduvaid näiteid.

Kasuta koodi

readxl_example()

kõigi saadaolevate arvutustabelite nägemiseks raamatukogus.

Clippy.xls-nimelise arvutustabeli asukoha kontrollimiseks kasutage lihtsalt

readxl_example("geometry.xls")

Kui installite R koos kondaga, asuvad arvutustabelid saidil Anaconda3 / lib / R / library / readxl / extdata / filename.xls

read_excel ()

Funktsioonist read_excel () on xls ja xlsx laienduse avamisel väga palju kasu.

Süntaks on:

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

Saame importida arvutustabeleid readxl teegist ja loendada esimese lehe veergude arvu.

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

Väljund:

## [1] 5

excel_sheets ()

Fail datasets.xlsx koosneb neljast lehest. Funktsioonide excel_sheets () abil saame teada, millised lehed on töövihikus saadaval

example <- readxl_example("datasets.xlsx")

excel_sheets(example)

Väljund:

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

Kui tööleht sisaldab palju lehti, on lehe argumentide abil lihtne konkreetset lehte valida. Saame määrata lehe nime või lehe registri. Saame kontrollida, kas mõlemad funktsioonid tagastavad sama väljundi identse () -ga.

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

Väljund:

## [1] TRUE

Saame kahel viisil kontrollida, milliseid rakke lugeda

  1. N rea tagastamiseks kasutage argumenti n_max
  2. Kasutage vahemiku argumenti koos lahtrite_rühmade või lahtrite_kolmidega

Näiteks määrasime esimese viie rea importimiseks n_max võrdse väärtusega 5.

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

Kui muudame col_names väärtuseks FALSE, loob R päised automaatselt.

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

iris_no_header

Andmekaadris iris_no_header lõi R viis uut muutujat nimega X__1, X__2, X__3, X__4 ja X__5

Argumentide vahemikku saame kasutada ka arvutustabeli ridade ja veergude valimiseks. Allolevas koodis valime vahemiku A1 kuni B5 Exceli stiili abil.

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

Väljund:

## [1] 4 2

Näeme, et näide_1 tagastab 4 rida 2 veeruga. Andmekogumil on päis, et põhjuseks on mõõt 4x2.

Teises näites kasutame funktsiooni cell_rows (), mis kontrollib tagasipöörduvate ridade vahemikku. Kui tahame ridu 1 kuni 5 importida, saame määrata lahtrid (1: 5). Pange tähele, et cell_rows (1: 5) tagastab sama väljundi nagu 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äljund:

## [1] 4 5

Näide_2 on siiski 4x5 maatriks. Iirise andmekogul on 5 päisega veergu. Tagastame esimesed neli rida kõigi veergude päisega

Kui tahame importida ridu, mis ei alga esimesest reast, peame lisama col_names = FALSE. Kui kasutame vahemikku = cell_rows (2: 5), ilmneb, et meie andmeraamil pole enam päist.

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äljund:

## [1] 150 2 

Märkus: vahemik = cell_cols ("A: B") tagastab kõigi lahtrite nullväärtuse. Andmekogum sisaldab 150 rida, seetõttu tagastab read_excel () read kuni 150. Seda kontrollitakse funktsiooni dim () abil.

read_excel () tagastab NA, kui lahtrisse ilmub numbrilise väärtuseta sümbol. Puuduvate väärtuste arvu saame kokku lugeda kahe funktsiooni kombinatsiooniga

  1. summa
  2. is.na

Siin on kood

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

Väljund:

## [1] 50

Meil on puudu 50 väärtust, milleks on setosaliiki kuuluvad read.

Andmete importimine muust statistikatarkvarast

Impordime taevapaketiga erinevaid failivorminguid. See pakett toetab tarkvara SAS, STATA ja SPSS. Erinevat tüüpi andmekogumi avamiseks vastavalt faili laiendusele saame kasutada järgmist funktsiooni:

  • SAS: read_sas ()
  • STATA: read_dta () (või read_stata (), mis on identsed)
  • SPSS: read_sav () või read_por (). Peame laiendust kontrollima

Nendes funktsioonides on nõutav ainult üks argument. Peame teadma PATH-i, kuhu fail on salvestatud. See on kõik, oleme valmis avama kõik SASi, STATA ja SPSSi failid. Need kolm funktsiooni aktsepteerivad ka URL-i.

library(haven)

haven on varustatud conda r-essentialiga, muidu minge lingile või terminali conda installige -c conda-forge r-haven

Loe sas

Näiteks kasutame IDRE sisseastumisandmete kogumit.

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

Väljund:

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

Lugege STATA-d

STATA andmefailide jaoks saate kasutada read_dta (). Kasutame täpselt sama andmekogumit, kuid salvestame failis .dta.

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

Väljund:

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

Lugege SPSS-i

SPSS-faili avamiseks kasutame funktsiooni read_sav (). Faililaiend ".sav"

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

Väljund:

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

Andmete impordi parimad tavad

Kui tahame andmeid R-i importida, on kasulik rakendada järgmine kontroll-loend. See hõlbustab andmete õigesti importimist R-i:

  • Arvutustabeli tüüpiline vorming on kasutada päisena esimesi ridu (tavaliselt muutujate nimi).
  • Vältige tühikute tühikutega andmekogumi nimetamist; see võib viia tõlgendamiseni eraldi muutujana. Teise võimalusena eelistage kasutada '_' või '-.'
  • Eelistatakse lühinimesid
  • Ärge lisage nimesse sümbolit: st vahetuse_hind _ $ _ € pole õige. Eelistage seda nimetada: vahetuse_hind_dollari_euro
  • Puuduvate väärtuste jaoks kasutage NA; peame vormingu hiljem puhastama.

Kokkuvõte

Järgmine tabel võtab kokku funktsiooni, mida tuleb kasutada R-tüüpi erinevat tüüpi failide importimiseks. Esimene veerg näitab funktsiooniga seotud teeki. Viimane veerg viitab vaikeargumendile.

Raamatukogu

Eesmärk

Funktsioon

Vaikeargumendid

utiliidid

CSV-faili lugemine

read.csv ()

fail, päis =, TÕENE, sep = ","

loexl

Loe EXCEL-faili

read_excel ()

tee, vahemik = NULL, veergude_nimed = TRUE

varjupaik

SAS-faili lugemine

read_sas ()

tee

varjupaik

STATA-faili lugemine

read_stata ()

tee

varjupaik

Lugege SPSS-i juhendit

read_sav ()

tee

Järgmine tabel näitab funktsiooni read_excel () abil valiku importimise erinevaid võimalusi.

Funktsioon

Eesmärgid

Argumendid

read_excel ()

Loe n ridade arvu

n_max = 10

Valige read ja veerud nagu Excelis

vahemik = "A1: D10"

Valige indeksitega read

vahemik = lahtrid (1: 3)

Valige tähtedega veerud

vahemik = cell_cols ("A: C")