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