Datu importēšana R: lasiet CSV, Excel, SPSS, Stata, SAS failus

Satura rādītājs:

Anonim

Dati varētu pastāvēt dažādos formātos. Katram formātam R ir noteikta funkcija un arguments. Šajā apmācībā ir paskaidrots, kā importēt datus R.

Šajā apmācībā jūs uzzināsiet

  • Lasiet CSV
  • Lasiet Excel failus
  • readxl_example ()
  • lasīt_excel ()
  • excel_sheets ()
  • Importēt datus no citas statistikas programmatūras
  • Lasīt sas
  • Lasiet STATA
  • Izlasiet SPSS
  • Datu importēšanas paraugprakse

Lasiet CSV

Viens no visplašāk datu krātuvēm ir .csv (komatiem atdalītas vērtības) failu formāti. R startēšanas laikā ielādē virkni bibliotēku, ieskaitot paketi utils. Šī pakete ir ērta, lai atvērtu csv failus kopā ar funkciju read.csv (). Šeit ir sintakse failam read.csv

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

Arguments :

  • fails : PATH, kur fails ir saglabāts
  • header : apstipriniet, vai failam ir galvene vai nav, pēc noklusējuma galvene ir iestatīta uz TRUE
  • sep : simbols, ko izmanto mainīgā sadalīšanai. Pēc noklusējuma `,`.

Mēs lasīsim datu faila nosaukumu mtcats. Csv fails tiek saglabāts tiešsaistē. Ja jūsu .csv fails tiek glabāts lokāli, koda fragmentā varat aizstāt PATH. Neaizmirstiet to ietīt iekšā ''. PATH ir jābūt virknes vērtībai.

Mac lietotājiem lejupielādes mapes ceļš ir šāds:

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

Windows lietotājam:

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

Ņemiet vērā, ka mums vienmēr jānorāda faila nosaukuma paplašinājums.

  • .csv
  • .xlsx
  • .txt
PATH <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/mtcars.csv'df <- read.csv(PATH, header = TRUE, sep = ',')length(df)

Izeja:

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

Izeja:

## [1] "factor"

R pēc noklusējuma atgriež rakstzīmju vērtības kā Faktors. Šo iestatījumu mēs varam izslēgt, pievienojot virknesAsFactors = 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)

Izeja:

## [1] "character"

Mainīgā X klase tagad ir raksturs.

Lasiet Excel failus

Excel faili ir ļoti populāri datu analītiķu vidū. Izklājlapas ir viegli apstrādājamas un elastīgas. R ir aprīkots ar bibliotēku readxl, lai importētu Excel izklājlapu.

Izmantojiet šo kodu

require(readxl)

lai pārbaudītu, vai readxl ir instalēts jūsu mašīnā. Ja instalējat r ar r-conda-essential, bibliotēka jau ir instalēta. Komandu logā jums vajadzētu redzēt:

Izeja:

Loading required package: readxl. 

Ja pakete neiziet, varat to instalēt ar conda bibliotēku vai terminālā, izmantojiet conda install -c mittner r-readxl.

Izmantojiet šo komandu, lai ielādētu bibliotēku, lai importētu Excel failus.

library(readxl)

readxl_example ()

Šīs apmācības laikā mēs izmantojam paketē readxl iekļautos piemērus.

Izmantojiet kodu

readxl_example()

lai apskatītu visas bibliotēkā pieejamās izklājlapas.

Lai pārbaudītu izklājlapas ar nosaukumu clippy.xls atrašanās vietu, izmantojiet to vienkārši

readxl_example("geometry.xls")

Ja instalējat R ar conda, izklājlapas atrodas Anaconda3 / lib / R / library / readxl / extdata / filename.xls

lasīt_excel ()

Funkcija read_excel () ir ļoti noderīga, atverot xls un xlsx paplašinājumu.

Sintakse ir:

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

Mēs varam importēt izklājlapas no readxl bibliotēkas un uzskaitīt kolonnu skaitu pirmajā lapā.

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

Izeja:

## [1] 5

excel_sheets ()

Failu datasets.xlsx veido 4 lapas. Mēs varam uzzināt, kuras lapas ir pieejamas darbgrāmatā, izmantojot funkciju excel_sheets ()

example <- readxl_example("datasets.xlsx")

excel_sheets(example)

Izeja:

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

Ja darblapā ir daudz lapu, izmantojot lapu argumentus, ir viegli izvēlēties konkrētu lapu. Mēs varam norādīt lapas nosaukumu vai lapas indeksu. Mēs varam pārbaudīt, vai abas funkcijas atgriež to pašu izvadi ar identisku ().

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

Izeja:

## [1] TRUE

Mēs varam kontrolēt, kuras šūnas lasīt, 2 veidos

  1. Izmantojiet argumentu n_max, lai atgrieztu n rindas
  2. Izmantojiet diapazona argumentu kopā ar cell_rows vai cell_cols

Piemēram, lai importētu pirmās piecas rindas, n_max ir vienāds ar 5.

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

Ja mainām col_names uz FALSE, R automātiski izveido galvenes.

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

iris_no_header

Datu rāmī iris_no_header R izveidoja piecus jaunus mainīgos ar nosaukumu X__1, X__2, X__3, X__4 un X__5

Varam arī izmantot argumentu diapazonu, lai atlasītu rindas un kolonnas izklājlapā. Zemāk esošajā kodā mēs izmantojam Excel stilu, lai atlasītu diapazonu no A1 līdz B5.

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

Izeja:

## [1] 4 2

Mēs varam redzēt, ka piemērs_1 atgriež 4 rindas ar 2 kolonnām. Datu kopai ir galvene, ka iemesls ir kategorija 4x2.

Otrajā piemērā mēs izmantojam funkciju cell_rows (), kas kontrolē atgriezamo rindu diapazonu. Ja mēs vēlamies importēt rindas no 1 līdz 5, mēs varam iestatīt cell_rows (1: 5). Ņemiet vērā, ka šūnu_rindas (1: 5) atgriež to pašu rezultātu kā šūnu_rindas (5: 1).

# Read rows 1 to 5example_2 <-read_excel(example, range =cell_rows(1:5),col_names =TRUE)dim(example_2)

Izeja:

## [1] 4 5

Piemērs_2 tomēr ir 4x5 matrica. Varavīksnenes datu kopā ir 5 kolonnas ar galveni. Mēs atgriežam pirmās četras rindas ar visu kolonnu galveni

Gadījumā, ja mēs vēlamies importēt rindas, kas nesākas pirmajā rindā, mums jāiekļauj col_names = FALSE. Ja mēs izmantojam diapazonu = cell_rows (2: 5), kļūst skaidrs, ka mūsu datu rāmim vairs nav galvenes.

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)

Izeja:

## [1] 150 2 

Piezīme: diapazons = cell_cols ("A: B") atgriež visu šūnu iznākumu ar nulles vērtību. Datu kopa satur 150 rindas, tāpēc read_excel () atgriež rindas līdz 150. To pārbauda ar funkciju dim ().

read_excel () atgriež NA, kad šūnā parādās simbols bez skaitliskas vērtības. Trūkstošo vērtību skaitu varam saskaitīt, apvienojot divas funkcijas

  1. summa
  2. is.na

Šeit ir kods

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

Izeja:

## [1] 50

Mums trūkst 50 vērtību, kas ir setosa sugām piederošās rindas.

Importēt datus no citas statistikas programmatūras

Mēs importēsim dažādu failu formātu ar debesu paketi. Šī pakete atbalsta SAS, STATA un SPSS programmatūras. Mēs varam izmantot šo funkciju, lai atvērtu dažāda veida datu kopu atbilstoši faila paplašinājumam:

  • SAS: read_sas ()
  • STATA: read_dta () (vai read_stata (), kas ir identiski)
  • SPSS: read_sav () vai read_por (). Mums jāpārbauda paplašinājums

Šīs funkcijas ietvaros ir nepieciešams tikai viens arguments. Mums jāzina PATH, kur fails tiek glabāts. Tas ir viss, mēs esam gatavi atvērt visus failus no SAS, STATA un SPSS. Šīs trīs funkcijas pieņem arī URL.

library(haven)

haven nāk ar conda r-essential citādi dodieties uz saiti vai terminālā conda install -c conda-forge r-haven

Lasīt sas

Piemēram, mēs izmantosim IDRE uzņemšanas datu kopu.

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

Izeja:

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

Lasiet STATA

STATA datu failiem varat izmantot read_dta (). Mēs izmantojam tieši to pašu datu kopu, bet glabājamies .dta failā.

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

Izeja:

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

Izlasiet SPSS

Mēs izmantojam funkciju read_sav (), lai atvērtu SPSS failu. Faila paplašinājums ".sav"

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

Izeja:

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

Datu importēšanas paraugprakse

Kad mēs vēlamies importēt datus R, ir lietderīgi ieviest sekojošo kontrolsarakstu. Tas atvieglos datu pareizu importēšanu R:

  • Tipisks izklājlapas formāts ir izmantot pirmās rindas kā galveni (parasti mainīgo nosaukums).
  • Izvairieties nosaukt datu kopu ar tukšām atstarpēm; tas var novest pie interpretēšanas kā atsevišķa mainīgā. Varat arī izmantot “_” vai “-.”
  • Priekšroka tiek dota īsiem nosaukumiem
  • Neiekļaujiet simbolu nosaukumā: ti: exchange_rate _ $ _ € nav pareizs. Dodiet priekšroku nosaukumam: exchange_rate_dollar_euro
  • Izmantojiet NA, ja citādi trūkst vērtības; mums vēlāk ir jātīra formāts.

Kopsavilkums

Šajā tabulā ir apkopota funkcija, kas jāizmanto dažādu veidu failu importēšanai R. Pirmajā kolonnā ir norādīta bibliotēka, kas saistīta ar funkciju. Pēdējā kolonna attiecas uz noklusējuma argumentu.

Bibliotēka

Mērķis

Funkcija

Noklusējuma argumenti

utils

Lasīt CSV failu

lasīt.csv ()

fails, galvene =, PATIESA, sep = ","

lasītxl

Lasiet EXCEL failu

lasīt_excel ()

ceļš, diapazons = NULL, col_names = TRUE

patvērums

Lasīt SAS failu

lasīt_sas ()

ceļš

patvērums

Lasiet STATA failu

lasīt datus ()

ceļš

patvērums

Izlasiet SPSS fille

lasīt_sav ()

ceļš

Šajā tabulā parādīti dažādi veidi, kā importēt atlasi ar funkciju read_excel ().

Funkcija

Mērķi

Argumenti

lasīt_excel ()

Lasīt n rindu skaitu

n_max = 10

Atlasiet rindas un kolonnas, piemēram, Excel

diapazons = "A1: D10"

Atlasiet rindas ar rādītājiem

diapazons = šūnu_rindas (1: 3)

Atlasiet kolonnas ar burtiem

diapazons = šūnu_cols ("A: C")