Veriler çeşitli formatlarda mevcut olabilir. Her format için R'nin belirli bir işlevi ve bağımsız değişkeni vardır. Bu eğitim, verilerin R'ye nasıl aktarılacağını açıklar.
Bu eğitimde öğreneceksiniz
- CSV'yi okuyun
- Excel dosyalarını okuyun
- readxl_example ()
- read_excel ()
- excel_sheets ()
- Diğer istatistiksel yazılımlardan verileri içe aktarın
- Sas oku
- STATA'yı okuyun
- SPSS'yi okuyun
- Verileri İçe Aktarma için en iyi uygulamalar
CSV'yi okuyun
En yaygın veri depolarından biri, .csv (virgülle ayrılmış değerler) dosya biçimleridir. R, başlatma sırasında utils paketi de dahil olmak üzere bir dizi kitaplık yükler. Bu paket, reading.csv () işleviyle birlikte csv dosyalarını açmak için uygundur. Burada read.csv için sözdizimi verilmiştir.
read.csv(file, header = TRUE, sep = ",")
Argüman :
- dosya : dosyanın saklandığı PATH
- başlık : dosyanın bir başlığı olup olmadığını onaylayın, varsayılan olarak başlık TRUE olarak ayarlanmıştır
- sep : değişkeni bölmek için kullanılan sembol. Varsayılan olarak, `,`.
Veri dosyası adını mtcats okuyacağız. Csv dosyası çevrimiçi olarak saklanır. .Csv dosyanız yerel olarak depolanmışsa, kod snippet'inin içindeki PATH'i değiştirebilirsiniz. İçine sarmayı unutma ''. PATH'in bir dize değeri olması gerekir.
Mac kullanıcısı için indirme klasörünün yolu şu şekildedir:
"/Users/USERNAME/Downloads/FILENAME.csv"
Windows kullanıcısı için:
"C:\Users\USERNAME\Downloads\FILENAME.csv"
Her zaman dosya adının uzantısını belirtmemiz gerektiğini unutmayın.
- .csv
- .xlsx
- .txt
- …
PATH <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/mtcars.csv'df <- read.csv(PATH, header = TRUE, sep = ',')length(df)
Çıktı:
## [1] 12
class(df$X)
Çıktı:
## [1] "factor"
R, varsayılan olarak karakter değerlerini Faktör olarak döndürür. StringsAsFactors = FALSE ekleyerek bu ayarı kapatabiliriz.
PATH <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/mtcars.csv'df <-read.csv(PATH, header =TRUE, sep = ',', stringsAsFactors =FALSE)class(df$X)
Çıktı:
## [1] "character"
X değişkeninin sınıfı artık bir karakterdir.
Excel dosyalarını okuyun
Excel dosyaları, veri analistleri arasında çok popülerdir. Elektronik tablolarla çalışmak kolay ve esnektir. R, Excel elektronik tablosunu içe aktarmak için bir kitaplık readxl ile donatılmıştır.
Bu kodu kullanın
require(readxl)
makinenizde readxl'in kurulu olup olmadığını kontrol etmek için. R-conda-essential ile r kurarsanız, kitaplık zaten kurulur. Komut penceresinde şunu görmelisiniz:
Çıktı:
Loading required package: readxl.
Paket çıkmazsa, onu conda kitaplığı ile veya terminale kurabilirsiniz, conda install -c mittner r-readxl kullanın.
Excel dosyalarını içe aktarmak üzere kitaplığı yüklemek için aşağıdaki komutu kullanın.
library(readxl)
readxl_example ()
Bu eğitim sırasında readxl paketinde yer alan örnekleri kullanıyoruz.
Kodu kullan
readxl_example()
Kitaplıktaki tüm mevcut elektronik tabloları görmek için.
Clippy.xls adlı elektronik tablonun konumunu kontrol etmek için basit kullanım
readxl_example("geometry.xls")
R'yi conda ile kurarsanız, elektronik tablolar Anaconda3 / lib / R / library / readxl / extdata / filename.xls'de bulunur.
read_excel ()
Read_excel () işlevi, xls ve xlsx uzantılarını açmak söz konusu olduğunda çok kullanışlıdır.
Sözdizimi şöyledir:
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
Elektronik tabloları readxl kitaplığından içe aktarabilir ve ilk sayfadaki sütun sayısını sayabiliriz.
# Store the path of `datasets.xlsx`example <- readxl_example("datasets.xlsx")# Import the spreadsheetdf <- read_excel(example)# Count the number of columnslength(df)
Çıktı:
## [1] 5
excel_sheets ()
Datasets.xlsx dosyası 4 sayfadan oluşur. Çalışma kitabında hangi sayfaların mevcut olduğunu excel_sheets () işlevini kullanarak bulabiliriz.
example <- readxl_example("datasets.xlsx")excel_sheets(example)
Çıktı:
[1] "iris" "mtcars" "chickwts" "quakes"
Bir çalışma sayfası çok sayıda sayfa içeriyorsa, sayfa bağımsız değişkenlerini kullanarak belirli bir sayfayı seçmek kolaydır. Sayfanın adını veya sayfa indeksini belirtebiliriz. Her iki işlevin de aynı çıktıyı döndürüp döndürmediğini doğrulayabiliriz ().
example <- readxl_example("datasets.xlsx")quake <- read_excel(example, sheet = "quakes")quake_1 <-read_excel(example, sheet = 4)identical(quake, quake_1)
Çıktı:
## [1] TRUE
Hangi hücrelerin okunacağını 2 şekilde kontrol edebiliriz
- N satır döndürmek için n_max bağımsız değişkenini kullanın
- Cell_rows veya cell_cols ile birleştirilmiş aralık bağımsız değişkenini kullanın
Örneğin, ilk beş satırı içe aktarmak için n_max eşittir 5 olarak ayarladık.
# Read the first five row: with headeriris <-read_excel(example, n_max =5, col_names =TRUE)
Col_names'i FALSE olarak değiştirirsek, R başlıkları otomatik olarak oluşturur.
# Read the first five row: without headeriris_no_header <-read_excel(example, n_max =5, col_names =FALSE)
iris_no_header
İris_no_header veri çerçevesinde R, X__1, X__2, X__3, X__4 ve X__5 adlı beş yeni değişken oluşturdu.
Elektronik tablodaki satırları ve sütunları seçmek için argüman aralığını da kullanabiliriz. Aşağıdaki kodda, A1 - B5 aralığını seçmek için excel stilini kullanıyoruz.
# Read rows A1 to B5example_1 <-read_excel(example, range = "A1:B5", col_names =TRUE)dim(example_1)
Çıktı:
## [1] 4 2
Example_1'in 2 sütunlu 4 satır döndürdüğünü görebiliriz. Veri kümesinde boyutun 4x2 olmasının nedeni bu başlık içerir.
İkinci örnekte, döndürülecek satır aralığını kontrol eden cell_rows () işlevini kullanıyoruz. 1'den 5'e kadar olan satırları içe aktarmak istersek, hücre_rows (1: 5) ayarlayabiliriz. Cell_rows (1: 5) 'in hücre_rows (5: 1) ile aynı çıktıyı döndürdüğüne dikkat edin.
# Read rows 1 to 5example_2 <-read_excel(example, range =cell_rows(1:5),col_names =TRUE)dim(example_2)
Çıktı:
## [1] 4 5
Ancak example_2, 4x5'lik bir matristir. İris veri kümesinde başlık bulunan 5 sütun vardır. İlk dört satırı tüm sütunların başlığıyla döndürüyoruz
İlk satırda başlamayan satırları içe aktarmak istersek, col_names = FALSE eklememiz gerekir. Range = hücre_rows (2: 5) kullanırsak, veri çerçevemizin artık başlığı olmadığı aşikar hale gelir.
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)
Çıktı:
## [1] 150 2
Not: aralık = hücre_kolları ("A: B"), boş olmayan değere sahip tüm hücrelerin çıktısını döndürür. Veri kümesi 150 satır içerir, bu nedenle read_excel () 150'ye kadar satır döndürür. Bu, dim () işlevi ile doğrulanır.
read_excel (), hücrede sayısal değeri olmayan bir sembol göründüğünde NA değerini döndürür. Eksik değerlerin sayısını iki fonksiyonun kombinasyonu ile sayabiliriz
- toplam
- is.na
İşte kod
iris_na <-read_excel(example, na ="setosa")sum(is.na(iris_na))
Çıktı:
## [1] 50
Setosa türüne ait sıralar olan 50 değer eksik.
Diğer istatistiksel yazılımlardan verileri içe aktarın
Heaven paketi ile farklı dosya formatlarını içe aktaracağız. Bu paket SAS, STATA ve SPSS yazılımlarını destekler. Dosyanın uzantısına göre farklı veri kümesi türlerini açmak için aşağıdaki işlevi kullanabiliriz:
- SAS: read_sas ()
- STATA: read_dta () (veya read_stata (), aynı olan)
- SPSS: read_sav () veya read_por (). Uzantıyı kontrol etmemiz gerekiyor
Bu işlevde yalnızca bir argüman gereklidir. Dosyanın saklandığı PATH'yi bilmemiz gerekir. İşte bu, SAS, STATA ve SPSS'den tüm dosyaları açmaya hazırız. Bu üç işlev de bir URL'yi kabul eder.
library(haven)
haven conda r-essential ile birlikte gelir, aksi takdirde bağlantıya gidin veya terminalde conda install -c conda-forge r-cenneti
Sas oku
Örneğimiz için, IDRE'deki kabul veri setini kullanacağız.
PATH_sas <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.sas7bdat?raw=true'df <- read_sas(PATH_sas)head(df)
Çıktı:
## # 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
STATA'yı okuyun
STATA veri dosyaları için read_dta () kullanabilirsiniz. Tam olarak aynı veri kümesini kullanıyoruz ancak .dta dosyasında saklıyoruz.
PATH_stata <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.dta?raw=true'df <- read_dta(PATH_stata)head(df)
Çıktı:
## # 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
SPSS'yi okuyun
Bir SPSS dosyasını açmak için read_sav () işlevini kullanıyoruz. Dosya uzantısı ".sav"
PATH_spss <- 'https://github.com/guru99-edu/R-Programming/blob/master/binary.sav?raw=true'df <- read_sav(PATH_spss)head(df)
Çıktı:
## # 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
Verileri İçe Aktarma için en iyi uygulamalar
Verileri R'ye aktarmak istediğimizde, aşağıdaki kontrol listesini uygulamak faydalıdır. Verileri R'ye doğru şekilde aktarmayı kolaylaştıracaktır:
- Bir elektronik tablonun tipik biçimi, ilk satırları başlık olarak kullanmaktır (genellikle değişken adı).
- Bir veri kümesini boşluklarla adlandırmaktan kaçının; ayrı bir değişken olarak yorumlamaya yol açabilir. Alternatif olarak, '_' veya '-' kullanmayı tercih edin.
- Kısa isimler tercih edilir
- Ada sembol eklemeyin: yani: exchange_rate _ $ _ € doğru değil. Adlandırmayı tercih edin: exchange_rate_dollar_euro
- Aksi takdirde eksik değerler için NA kullanın; formatı daha sonra temizlememiz gerekir.
Özet
Aşağıdaki tablo, R'ye farklı dosya türlerini içe aktarmak için kullanılacak işlevi özetlemektedir. Birinci sütun, işlevle ilgili kitaplığı belirtir. Son sütun, varsayılan bağımsız değişkeni ifade eder.
Kütüphane |
Amaç |
Fonksiyon |
Varsayılan Bağımsız Değişkenler |
---|---|---|---|
mutfak eşyaları |
CSV dosyasını oku |
read.csv () |
dosya, başlık =, DOĞRU, sep = "," |
readxl |
EXCEL dosyasını oku |
read_excel () |
yol, aralık = NULL, sütun_adları = DOĞRU |
cennet |
SAS dosyasını oku |
read_sas () |
yol |
cennet |
STATA dosyasını oku |
read_stata () |
yol |
cennet |
SPSS dosyasını oku |
read_sav () |
yol |
Aşağıdaki tablo, bir seçimi read_excel () işlevi ile içe aktarmanın farklı yollarını gösterir.
Fonksiyon |
Hedefler |
Argümanlar |
---|---|---|
read_excel () |
N sayıda satır oku |
n_max = 10 |
Excel'deki gibi satırları ve sütunları seçin |
aralık = "A1: D10" |
|
Dizin içeren satırları seçin |
aralık = hücre_sıraları (1: 3) |
|
Harf içeren sütunları seçin |
aralık = hücre_kolları ("A: C") |