Tietoja voi olla eri muodoissa. Jokaisella formaatilla R: llä on tietty funktio ja argumentti. Tässä opetusohjelmassa kerrotaan, kuinka tietoja tuodaan R.
Tässä opetusohjelmassa opit
- Lue CSV
- Lue Excel-tiedostoja
- readxl_example ()
- read_excel ()
- excel_sheets ()
- Tuo tietoja muista tilasto-ohjelmistoista
- Lue sas
- Lue STATA
- Lue SPSS
- Tietojen tuonnin parhaat käytännöt
Lue CSV
Yksi laajimmin tietovarastoista on .csv (pilkuilla erotetut arvot) -tiedostomuodot. R lataa joukon kirjastoja käynnistyksen aikana, mukaan lukien utils-paketti. Tämä paketti on kätevä avaamaan csv-tiedostot yhdessä read.csv () -toiminnon kanssa. Tässä on read.csv: n syntakse
read.csv(file, header = TRUE, sep = ",")
Väite :
- tiedosto : PATH, johon tiedosto on tallennettu
- header : vahvista, onko tiedostolla otsikko vai ei, otsikossa on oletuksena TOSI
- sep : symboli, jota käytetään muuttujan jakamiseen. Oletuksena `,`.
Luemme datatiedoston nimen mtcats. Csv-tiedosto tallennetaan verkkoon. Jos .csv-tiedostosi on tallennettu paikallisesti, voit korvata PATH-koodinpätkän. Älä unohda kääriä sitä sisään ''. PATH: n on oltava merkkijonoarvo.
Mac-käyttäjille latauskansion polku on:
"/Users/USERNAME/Downloads/FILENAME.csv"
Windows-käyttäjälle:
"C:\Users\USERNAME\Downloads\FILENAME.csv"
Huomaa, että meidän on aina määritettävä tiedostonimen laajennus.
- .csv
- .xlsx
- .txt
- …
PATH <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/mtcars.csv'df <- read.csv(PATH, header = TRUE, sep = ',')length(df)
Tuotos:
## [1] 12
class(df$X)
Tuotos:
## [1] "factor"
R palauttaa oletusarvoisesti merkkiarvot tekijänä. Voimme poistaa tämän asetuksen käytöstä lisäämällä 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)
Tuotos:
## [1] "character"
Muuttujan X luokka on nyt merkki.
Lue Excel-tiedostoja
Excel-tiedostot ovat erittäin suosittuja data-analyytikoiden keskuudessa. Laskentataulukoita on helppo käsitellä ja joustavia. R on varustettu kirjaston readxl: llä tuoda Excel-laskentataulukkoa.
Käytä tätä koodia
require(readxl)
tarkistaa, onko readxl asennettu koneellesi. Jos asennat r: n r-conda-essentialilla, kirjasto on jo asennettu. Sinun pitäisi nähdä komentoikkunassa:
Tuotos:
Loading required package: readxl.
Jos paketti ei poistu, voit asentaa sen conda-kirjastoon tai päätelaitteeseen, käytä conda install -c mittner r-readxl.
Käytä seuraavaa komentoa ladataksesi kirjaston tuoda Excel-tiedostoja.
library(readxl)
readxl_example ()
Käytämme esimerkkejä, jotka sisältyvät pakettiin readxl tämän opetusohjelman aikana.
Käytä koodia
readxl_example()
nähdäksesi kaikki käytettävissä olevat laskentataulukot kirjastossa.
Voit tarkistaa clippy.xls-nimisen laskentataulukon sijainnin yksinkertaisesti
readxl_example("geometry.xls")
Jos asennat R: n condalla, laskentataulukot ovat kansiossa Anaconda3 / lib / R / library / readxl / extdata / filename.xls
read_excel ()
Funktiolla read_excel () on paljon hyötyä xls: n ja xlsx-laajennuksen avaamisessa.
Syntaksi 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
Voimme tuoda laskentataulukot readxl-kirjastosta ja laskea sarakkeiden määrän ensimmäisessä taulukossa.
# Store the path of `datasets.xlsx`example <- readxl_example("datasets.xlsx")# Import the spreadsheetdf <- read_excel(example)# Count the number of columnslength(df)
Tuotos:
## [1] 5
excel_sheets ()
Tiedosto datasets.xlsx koostuu 4 arkista. Voimme selvittää työkirjassa olevat taulukot käyttämällä excel_sheets () -toimintoa
example <- readxl_example("datasets.xlsx")excel_sheets(example)
Tuotos:
[1] "iris" "mtcars" "chickwts" "quakes"
Jos laskentataulukko sisältää useita taulukoita, on helppo valita tietty taulukko käyttämällä taulukon argumentteja. Voimme määrittää arkin nimen tai arkistohakemiston. Voimme tarkistaa, palauttaako molemmat funktiot saman tuloksen identtisellä ().
example <- readxl_example("datasets.xlsx")quake <- read_excel(example, sheet = "quakes")quake_1 <-read_excel(example, sheet = 4)identical(quake, quake_1)
Tuotos:
## [1] TRUE
Voimme hallita mitä soluja lukea kahdella tavalla
- Käytä n_max-argumenttia palauttaaksesi n riviä
- Käytä alueen argumenttia yhdistettynä solujen_riveihin tai solujen sarakkeisiin
Esimerkiksi, kun asetamme n_max on 5, tuodaan ensimmäiset viisi riviä.
# Read the first five row: with headeriris <-read_excel(example, n_max =5, col_names =TRUE)
Jos vaihdamme col_names-arvoksi FALSE, R luo otsikot automaattisesti.
# Read the first five row: without headeriris_no_header <-read_excel(example, n_max =5, col_names =FALSE)
iris_no_header
Iris_no_header-tietokehyksessä R loi viisi uutta muuttujaa nimeltä X__1, X__2, X__3, X__4 ja X__5
Voimme myös käyttää argumenttialuetta rivejen ja sarakkeiden valitsemiseen laskentataulukosta. Alla olevassa koodissa käytämme Excel-tyyliä valitaksesi alueen A1 - B5.
# Read rows A1 to B5example_1 <-read_excel(example, range = "A1:B5", col_names =TRUE)dim(example_1)
Tuotos:
## [1] 4 2
Voimme nähdä, että esimerkki_1 palauttaa 4 riviä, joissa on 2 saraketta. Aineistossa on otsikko, että syy siihen, että ulottuvuus on 4x2.
Toisessa esimerkissä käytämme funktiota cell_rows (), joka ohjaa palautettavien rivien aluetta. Jos haluamme tuoda rivit 1–5, voimme asettaa solurivit (1: 5). Huomaa, että solurivit (1: 5) palauttaa saman tuloksen kuin solurivit (5: 1).
# Read rows 1 to 5example_2 <-read_excel(example, range =cell_rows(1:5),col_names =TRUE)dim(example_2)
Tuotos:
## [1] 4 5
Esimerkki_2 on kuitenkin 4x5-matriisi. Iiris-tietojoukossa on 5 saraketta, joissa on otsikko. Palautamme neljä ensimmäistä riviä kaikkien sarakkeiden otsikolla
Jos haluamme tuoda rivejä, jotka eivät ala ensimmäisellä rivillä, meidän on sisällytettävä col_names = EPÄTOSI. Jos käytämme range = cell_rows (2: 5), käy selväksi, että tietokehyksellämme ei ole enää otsikkoa.
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)
Tuotos:
## [1] 150 2
Huomaa: range = cell_cols ("A: B"), palauttaa kaikki solut, joiden arvo ei ole nolla. Aineisto sisältää 150 riviä, joten read_excel () palauttaa rivit 150: een. Tämä varmistetaan dim () -toiminnolla.
read_excel () palauttaa NA: n, kun solussa näkyy symboli ilman numeerista arvoa. Voimme laskea puuttuvien arvojen määrän kahden toiminnon yhdistelmällä
- summa
- is.na
Tässä on koodi
iris_na <-read_excel(example, na ="setosa")sum(is.na(iris_na))
Tuotos:
## [1] 50
Meiltä puuttuu 50 arvoa, jotka ovat setosa-lajeihin kuuluvia rivejä.
Tuo tietoja muista tilasto-ohjelmistoista
Tuomme erilaisia tiedostomuotoja taivas-paketilla. Tämä paketti tukee SAS-, STATA- ja SPSS-ohjelmistoja. Voimme käyttää seuraavaa toimintoa erityyppisten tietojoukkojen avaamiseen tiedoston laajennuksen mukaan:
- SAS: read_sas ()
- STATA: read_dta () (tai read_stata (), jotka ovat identtisiä)
- SPSS: read_sav () tai read_por (). Meidän on tarkistettava laajennus
Näissä funktioissa vaaditaan vain yksi argumentti. Meidän on tiedettävä polku, johon tiedosto on tallennettu. Siinä kaikki, olemme valmiita avaamaan kaikki tiedostot SAS: sta, STATA: sta ja SPSS: stä. Nämä kolme toimintoa hyväksyvät myös URL-osoitteen.
library(haven)
haven mukana tulee conda r-essential muuten siirry linkille tai terminaaliin conda install -c conda-forge r-haven
Lue sas
Esimerkiksi aiomme käyttää IDRE: n pääsytietojoukkoa.
PATH_sas <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.sas7bdat?raw=true'df <- read_sas(PATH_sas)head(df)
Tuotos:
## # 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
Lue STATA
Voit käyttää STATA-datatiedostoja read_dta (). Käytämme täsmälleen samaa tietoaineistoa, mutta tallennamme .dta-tiedostoon.
PATH_stata <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.dta?raw=true'df <- read_dta(PATH_stata)head(df)
Tuotos:
## # 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
Lue SPSS
Käytämme read_sav () -toimintoa SPSS-tiedoston avaamiseen. Tiedostotunniste ".sav"
PATH_spss <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.sav?raw=true'df <- read_sav(PATH_spss)head(df)
Tuotos:
## # 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
Tietojen tuonnin parhaat käytännöt
Kun haluamme tuoda tietoja R: ään, on hyödyllistä toteuttaa seuraava tarkistuslista. Se helpottaa tietojen oikeaa tuomista R-tiedostoon:
- Laskentataulukon tyypillinen muoto on käyttää ensimmäisiä rivejä otsikkona (yleensä muuttujien nimi).
- Vältä nimeämästä tietojoukkoa tyhjillä välilyönneillä; se voi johtaa tulkintaan erillisenä muuttujana. Vaihtoehtoisesti voit käyttää '_' tai '-.'
- Lyhyt nimi on suositeltava
- Älä sisällytä nimeen symbolia: ts. Vaihto_arvo _ $ _ € ei ole oikea. Nimeä se mieluummin: exchange_rate_dollar_euro
- Käytä NA muuten puuttuviin arvoihin; meidän on puhdistettava muoto myöhemmin.
Yhteenveto
Seuraava taulukko esittää yhteenvedon toiminnosta, jota käytetään erityyppisten tiedostojen tuontiin R: ssä. Sarake yksi ilmoittaa funktioon liittyvän kirjaston. Viimeinen sarake viittaa oletusargumenttiin.
Kirjasto |
Tavoite |
Toiminto |
Oletusargumentit |
---|---|---|---|
utils |
Lue CSV-tiedosto |
read.csv () |
tiedosto, otsikko =, TOSI, sep = "," |
lukeaxl |
Lue EXCEL-tiedosto |
read_excel () |
polku, alue = NULL, sarakkeiden nimet = TOSI |
paratiisi |
Lue SAS-tiedosto |
read_sas () |
polku |
paratiisi |
Lue STATA-tiedosto |
read_stata () |
polku |
paratiisi |
Lue SPSS-tiedosto |
read_sav () |
polku |
Seuraava taulukko näyttää eri tapoja tuoda valinta read_excel () -funktiolla.
Toiminto |
Tavoitteet |
Väitteet |
---|---|---|
read_excel () |
Lue n rivien lukumäärä |
n_max = 10 |
Valitse rivit ja sarakkeet kuten Excelissä |
alue = "A1: D10" |
|
Valitse indeksirivit |
alue = solurivit (1: 3) |
|
Valitse sarakkeet kirjaimilla |
range = cell_cols ("A: C") |