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
- Użyj argumentu n_max, aby zwrócić n wierszy
- 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
- suma
- 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”) |