Importuj dane do R: Czytaj pliki CSV, Excel, SPSS, Stata, SAS

Spisie treści:

Anonim

Dane mogą istnieć w różnych formatach. Dla każdego formatu R ma określoną funkcję i argument. W tym samouczku wyjaśniono, jak zaimportować dane do języka R.

W tym samouczku dowiesz się

  • Przeczytaj CSV
  • Czytaj pliki Excela
  • readxl_example ()
  • read_excel ()
  • excel_sheets ()
  • Importuj dane z innego oprogramowania statystycznego
  • Przeczytaj sas
  • Przeczytaj STATA
  • Przeczytaj SPSS
  • Sprawdzone metody importu danych

Przeczytaj CSV

Jednym z najpopularniejszych magazynów danych są formaty plików .csv (wartości rozdzielane przecinkami). R ładuje tablicę bibliotek podczas uruchamiania, w tym pakiet narzędzi. Ten pakiet jest wygodny do otwierania plików csv w połączeniu z funkcją reading.csv (). Oto składnia read.csv

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

Argument :

  • plik : ŚCIEŻKA, w której przechowywany jest plik
  • nagłówek : potwierdź, czy plik ma nagłówek, czy nie, domyślnie nagłówek jest ustawiony na TRUE
  • sep : symbol używany do podziału zmiennej. Domyślnie `,`.

Odczytamy nazwę pliku danych mtcats. Plik csv jest przechowywany online. Jeśli plik .csv jest przechowywany lokalnie, możesz zastąpić PATH we fragmencie kodu. Nie zapomnij owinąć go w środku ''. PATH musi być wartością ciągu.

W przypadku użytkownika Mac ścieżka do folderu pobierania to:

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

Dla użytkownika systemu Windows:

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

Pamiętaj, że zawsze powinniśmy określać rozszerzenie nazwy pliku.

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

Wynik:

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

Wynik:

## [1] "factor"

R domyślnie zwraca wartości znaków jako współczynnik. Możemy wyłączyć to ustawienie, dodając 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)

Wynik:

## [1] "character"

Klasa dla zmiennej X jest teraz znakiem.

Czytaj pliki Excela

Pliki Excel są bardzo popularne wśród analityków danych. Arkusze kalkulacyjne są łatwe w obsłudze i elastyczne. R jest wyposażony w bibliotekę readxl do importu arkusza kalkulacyjnego Excel.

Użyj tego kodu

require(readxl)

aby sprawdzić, czy readxl jest zainstalowane na Twoim komputerze. Jeśli instalujesz r z r-conda-essential, biblioteka jest już zainstalowana. W oknie poleceń powinieneś zobaczyć:

Wynik:

Loading required package: readxl. 

Jeśli pakiet się nie kończy, możesz zainstalować go za pomocą biblioteki conda lub w terminalu, użyj conda install -c mittner r-readxl.

Użyj następującego polecenia, aby załadować bibliotekę i zaimportować pliki programu Excel.

library(readxl)

readxl_example ()

W tym samouczku korzystamy z przykładów zawartych w pakiecie readxl.

Użyj kodu

readxl_example()

aby zobaczyć wszystkie dostępne arkusze kalkulacyjne w bibliotece.

Aby sprawdzić lokalizację arkusza kalkulacyjnego o nazwie clippy.xls, po prostu użyj

readxl_example("geometry.xls")

Jeśli zainstalujesz R z conda, arkusze kalkulacyjne znajdują się w Anaconda3 / lib / R / library / readxl / extdata / filename.xls

read_excel ()

Funkcja read_excel () jest bardzo przydatna, jeśli chodzi o otwieranie rozszerzenia xls i xlsx.

Składnia jest następująca:

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

Możemy zaimportować arkusze kalkulacyjne z biblioteki readxl i policzyć liczbę kolumn w pierwszym arkuszu.

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

Wynik:

## [1] 5

excel_sheets ()

Plik datasets.xlsx składa się z 4 arkuszy. Możemy dowiedzieć się, które arkusze są dostępne w skoroszycie, używając funkcji excel_sheets ()

example <- readxl_example("datasets.xlsx")

excel_sheets(example)

Wynik:

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

Jeśli arkusz zawiera wiele arkuszy, łatwo jest wybrać konkretny arkusz, używając argumentów arkusza. Możemy podać nazwę arkusza lub indeks arkusza. Możemy sprawdzić, czy obie funkcje zwracają to samo wyjście z identyczną ().

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

Wynik:

## [1] TRUE

Możemy kontrolować, które komórki odczytać na 2 sposoby

  1. Użyj argumentu n_max, aby zwrócić n wierszy
  2. Użyj argumentu zakresu w połączeniu z wierszami_komórek lub kolumnami_komórek

Na przykład ustawiliśmy n_max równe 5, aby zaimportować pierwsze pięć wierszy.

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

Jeśli zmienimy col_names na FALSE, R automatycznie utworzy nagłówki.

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

iris_no_header

W ramce danych iris_no_header, R utworzył pięć nowych zmiennych o nazwach X__1, X__2, X__3, X__4 i X__5

Możemy również użyć zakresu argumentów, aby wybrać wiersze i kolumny w arkuszu kalkulacyjnym. W poniższym kodzie używamy stylu Excela, aby wybrać zakres od A1 do B5.

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

Wynik:

## [1] 4 2

Widzimy, że przykład_1 zwraca 4 wiersze z 2 kolumnami. Zbiór danych ma nagłówek, z którego wynika, że ​​wymiar to 4x2.

W drugim przykładzie używamy funkcji cell_rows (), która kontroluje zakres wierszy do zwrócenia. Jeśli chcemy zaimportować wiersze od 1 do 5, możemy ustawić cell_rows (1: 5). Zwróć uwagę, że cell_rows (1: 5) zwraca te same dane wyjściowe, co cell_rows (5: 1).

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

Wynik:

## [1] 4 5

Przykład_2 jest jednak macierzą 4x5. Zestaw danych tęczówki ma 5 kolumn z nagłówkiem. Zwracamy pierwsze cztery wiersze z nagłówkami wszystkich kolumn

W przypadku, gdy chcemy zaimportować wiersze, które nie zaczynają się w pierwszym wierszu, musimy uwzględnić col_names = FALSE. Jeśli użyjemy range = cell_rows (2: 5), staje się oczywiste, że nasza ramka danych nie ma już nagłówka.

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)

Wynik:

## [1] 150 2 

Uwaga: range = cell_cols („A: B”), zwraca wszystkie komórki z wartością inną niż null. Zestaw danych zawiera 150 wierszy, dlatego read_excel () zwraca wiersze do 150. Jest to weryfikowane za pomocą funkcji dim ().

read_excel () zwraca NA, gdy w komórce pojawia się symbol bez wartości liczbowej. Liczbę brakujących wartości możemy policzyć za pomocą kombinacji dwóch funkcji

  1. suma
  2. is.na

Oto kod

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

Wynik:

## [1] 50

Brakuje nam 50 wartości, które są rzędami należącymi do gatunku setosa.

Importuj dane z innego oprogramowania statystycznego

Zaimportujemy różne formaty plików z pakietem nieba. Ten pakiet obsługuje oprogramowanie SAS, STATA i SPSS. Możemy użyć następującej funkcji, aby otworzyć różne typy zbiorów danych, zgodnie z rozszerzeniem pliku:

  • SAS: read_sas ()
  • STATA: read_dta () (lub read_stata (), które są identyczne)
  • SPSS: read_sav () lub read_por (). Musimy sprawdzić rozszerzenie

W ramach tej funkcji wymagany jest tylko jeden argument. Musimy znać ŚCIEŻKĘ, w ​​której przechowywany jest plik. To wszystko, jesteśmy gotowi do otwarcia wszystkich plików z SAS, STATA i SPSS. Te trzy funkcje również akceptują adres URL.

library(haven)

Haven jest dostarczana z conda r-essential w przeciwnym razie przejdź do linku lub w terminalu conda install -c conda-forge r-heaven

Przeczytaj sas

W naszym przykładzie użyjemy zestawu danych o przyjęciu z IDRE.

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

Wynik:

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

Przeczytaj STATA

W przypadku plików danych STATA możesz użyć read_dta (). Używamy dokładnie tego samego zbioru danych, ale przechowujemy go w pliku .dta.

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

Wynik:

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

Przeczytaj SPSS

Używamy funkcji read_sav () do otwierania pliku SPSS. Rozszerzenie pliku „.sav”

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

Wynik:

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

Sprawdzone metody importu danych

Gdy chcemy zaimportować dane do R, warto zaimplementować następującą listę kontrolną. Ułatwi to prawidłowe importowanie danych do R:

  • Typowy format arkusza kalkulacyjnego polega na użyciu pierwszych wierszy jako nagłówka (zwykle nazwy zmiennych).
  • Unikaj nazywania zbioru danych spacjami; może prowadzić do interpretacji jako oddzielnej zmiennej. Alternatywnie, preferuj użycie „_” lub „-”.
  • Preferowane są krótkie nazwy
  • Nie umieszczaj symbolu w nazwie, np .: kurs_ wymiany _ $ _ € nie jest poprawny. Wolę to nazwać: exchange_rate_dollar_euro
  • W przeciwnym razie użyj NA dla brakujących wartości; musimy później wyczyścić format.

Podsumowanie

Poniższa tabela zawiera podsumowanie funkcji, której należy użyć w celu zaimportowania różnych typów plików w R. Kolumna zawiera informacje o bibliotece związanej z funkcją. Ostatnia kolumna odnosi się do argumentu domyślnego.

Biblioteka

Cel

Funkcjonować

Argumenty domyślne

naczynia

Przeczytaj plik CSV

read.csv ()

plik, nagłówek =, PRAWDA, sep = ","

readxl

Przeczytaj plik EXCEL

read_excel ()

ścieżka, zakres = NULL, nazwy_kolumn = PRAWDA

przystań

Przeczytaj plik SAS

read_sas ()

ścieżka

przystań

Przeczytaj plik STATA

read_stata ()

ścieżka

przystań

Przeczytaj plik SPSS

read_sav ()

ścieżka

Poniższa tabela przedstawia różne sposoby importowania zaznaczenia za pomocą funkcji read_excel ().

Funkcjonować

Cele

Argumenty

read_excel ()

Przeczytaj n liczbę wierszy

n_max = 10

Wybierz wiersze i kolumny, jak w programie Excel

zakres = „A1: D10”

Wybierz wiersze z indeksami

zakres = wiersze_komórki (1: 3)

Wybierz kolumny z literami

zakres = cell_cols („A: C”)