R Veri Çerçevesi: Nasıl Oluşturulur, Eklenir, Seçilir ve Alt Kümelenir

Veri Çerçevesi Nedir?

A veri çerçevesi eşit uzunluktaki vektörlerin listesidir. Bir matris yalnızca bir tür veri içerirken, bir veri çerçevesi farklı veri türlerini (sayısal, karakter, faktör vb.) kabul eder.

Veri Çerçevesi Nasıl Oluşturulur

İçinde bir veri çerçevesi oluşturabiliriz R a,b,c,d değişkenini data.frame() işlevine aktararak. R veri çerçevesi oluşturabilir ve sütunları name() ile adlandırabilir ve yalnızca değişkenlerin adını belirtebiliriz.

data.frame(df, stringsAsFactors = TRUE)

Argümanlar:

  • df: Veri çerçevesi olarak dönüştürülecek bir matris veya birleştirilecek değişkenler koleksiyonu olabilir
  • stringsAsFactors: Varsayılan olarak dizeyi faktöre dönüştürün

Aynı uzunluktaki dört değişkeni birleştirerek ilk veri setimiz için R'de bir veri çerçevesi oluşturabiliriz.

# Create a, b, c, d variables
a <- c(10,20,30,40)
b <- c('book', 'pen', 'textbook', 'pencil_case')
c <- c(TRUE,FALSE,TRUE,FALSE)
d <- c(2.5, 8, 10, 7)
# Join the variables to create a data frame
df <- data.frame(a,b,c,d)
df

Çıktı:

##     a         b     c     d
## 1  10        book  TRUE   2.5
## 2  20         pen  FALSE  8.0
## 3  30    textbook  TRUE   10.0
## 4  40 pencil_case  FALSE  7.0

Sütun başlıklarının değişkenlerle aynı ada sahip olduğunu görebiliriz. R'deki sütun adını işlev adlarıyla () değiştirebiliriz. Aşağıdaki R create dataframe örneğini kontrol edin:

# Name the data frame
names(df) <- c('ID', 'items', 'store', 'price')
df

Çıktı:

##   ID       items store price
## 1 10        book  TRUE   2.5
## 2 20         pen FALSE   8.0
## 3 30    textbook  TRUE  10.0
## 4 40 pencil_case FALSE   7.0
# Print the structure
str(df)

Çıktı:

## 'data.frame':    4 obs. of  4 variables:
##  $ ID   : num  10 20 30 40
##  $ items: Factor w/ 4 levels "book","pen","pencil_case",..: 1 2 4 3
##  $ store: logi  TRUE FALSE TRUE FALSE
##  $ price: num  2.5 8 10 7

Varsayılan olarak veri çerçevesi dize değişkenlerini bir faktör olarak döndürür.

Veri Çerçevesini Dilimle

Bir Veri Çerçevesinin değerlerini DİLİMLEMEK mümkündür. Veri çerçevesinin adının önüne parantez içine döndürülecek satırları ve sütunları seçiyoruz.

Bir veri çerçevesi satır ve sütunlardan oluşur, df[A, B]. A satırları, B ise sütunları temsil ediyor. Satırları ve/veya sütunları belirterek dilimleyebiliriz.

Resim 1'de sol kısım, satırlar ve doğru kısım sütunlar. : sembolünün şu anlama geldiğini unutmayın: için. Örneğin, 1:3, 1'den değerleri seçmeyi amaçlar için 3.

Veri Çerçevesini Dilimle

Aşağıdaki diyagramda veri çerçevesinin farklı seçimine nasıl erişileceğini gösteriyoruz:

  • Sarı ok şunu seçer: sıra içinde 1 sütun 2
  • Yeşil ok şunu seçer: satır 1 için 2
  • Kırmızı ok şunu seçer: sütun 1
  • Mavi ok şunu seçer: satır 1 - 3 ve sütunlar 3 için 4

Sol kısmı boş bırakırsak R'nin seçeceğini unutmayın. tüm satırlar. Benzer şekilde, eğer sağ kısmı boş bırakırsak, R şunu seçecektir: tüm sütunlar.

Veri Çerçevesini Dilimle

Kodu konsolda çalıştırabiliriz:

## Select row 1 in column 2
df[1,2]

Çıktı:

## [1] book
## Levels: book pen pencil_case textbook
## Select Rows 1 to 2
df[1:2,]

Çıktı:

##   ID items store price
## 1 10  book  TRUE   2.5
## 2 20   pen FALSE   8.0
## Select Columns 1
df[,1]

Çıktı:

## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4
df[1:3, 3:4]

Çıktı:

##   store price
## 1  TRUE   2.5
## 2 FALSE   8.0
## 3  TRUE  10.0

Sütunları isimleriyle birlikte seçmek de mümkündür. Örneğin, aşağıdaki kod iki sütunu çıkarıyor: Kimlik ve mağaza.

# Slice with columns name
df[, c('ID', 'store')]

Çıktı:

##   ID store
## 1 10  TRUE
## 2 20 FALSE
## 3 30  TRUE
## 4 40 FALSE

Veri Çerçevesine Sütun Ekleme

Ayrıca Veri Çerçevesine bir sütun da ekleyebilirsiniz. Veri çerçevesi R değişkenini eklemek ve R'deki bir veri çerçevesine bir sütun eklemek için $ sembolünü kullanmanız gerekir.

# Create a new vector
quantity <- c(10, 35, 40, 5)

# Add `quantity` to the `df` data frame
df$quantity <- quantity
df

Çıktı:

##   ID       items store price quantity
## 1 10        book  TRUE   2.5       10
## 2 20         pen FALSE   8.0       35
## 3 30    textbook  TRUE  10.0       40
## 4 40 pencil_case FALSE   7.0        5

Not: Vektördeki eleman sayısı, veri çerçevesindeki eleman sayısına eşit olmalıdır. Veri çerçevesine sütun eklemek için aşağıdaki ifadeyi çalıştırmak R

quantity <- c(10, 35, 40)
# Add `quantity` to the `df` data frame
df$quantity <- quantity

Hata veriyor:

Error in `

lt;-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40))
 replacement has 3 rows, data has 4

Veri Çerçevesinin Sütununu Seçin

Bazen bir veri çerçevesinin bir sütununu ileride kullanmak üzere saklamamız veya bir sütun üzerinde işlem yapmamız gerekir. Bir veri çerçevesinden sütun seçmek için $ işaretini kullanabiliriz.

# Select the column ID
df$ID

Çıktı:

## [1] 1 2 3 4

Bir Veri Çerçevesini Alt Kümeleme

Önceki bölümde koşulsuz bir sütunun tamamını seçtik. Bu mümkün alt küme belirli bir koşulun doğru olup olmadığına bağlıdır.

subset() fonksiyonunu kullanıyoruz.

subset(x, condition)
arguments:
- x: data frame used to perform the subset
- condition: define the conditional statement

Yalnızca fiyatı 10'un üzerinde olan ürünleri iade etmek istiyoruz, şunları yapabiliriz:

# Select price above 5
subset(df, subset = price > 5)

Çıktı:

ID       items store price
2 20         pen FALSE     8
3 30    textbook  TRUE    10
4 40 pencil_case FALSE     7