Verileri R'ye Aktarın: CSV, Excel, SPSS, Stata, SAS Dosyalarını Okuyun

İçindekiler:

Anonim

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

  1. N satır döndürmek için n_max bağımsız değişkenini kullanın
  2. 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

  1. toplam
  2. 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")