Veri Çerçeveleri Oluşturma
Coddy'nin R Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 42 / 64.
data frame, R'nin tablosudur: her sütun kendi türüne sahip bir vektördür ve tüm sütunlar aynı uzunluktadır; her satır için bir değer bulunur. data.frame(), adlandırılmış vektörlerden bir tane oluşturur:
people <- data.frame(
name = c("ada", "bo", "cy"),
age = c(36, 22, 41),
city = c("london", "paris", "rome")
)
print(people)Çıktı:
name age city
1 ada 36 london
2 bo 22 paris
3 cy 41 romenrow() ve ncol() boyutu verir, names() ise sütunları listeler. Bir matrisin aksine sütunlar farklı türlerde değerler içerebilir: burada metin ve sayılar.
people <- data.frame(
name = c("ada", "bo", "cy"),
age = c(36, 22, 41),
city = c("london", "paris", "rome")
)
print(nrow(people))
print(ncol(people))
print(names(people))Çıktı:
[1] 3
[1] 3
[1] "name" "age" "city"str(), her sütunun türünü ve ilk değerlerini gösterir; bu, bir veri çerçevesinin ne içerdiğini kontrol etmenin hızlı bir yoludur:
people <- data.frame(
name = c("ada", "bo", "cy"),
age = c(36, 22, 41),
city = c("london", "paris", "rome")
)
str(people)Çıktı:
'data.frame': 3 obs. of 3 variables:
$ name: chr "ada" "bo" "cy"
$ age : num 36 22 41
$ city: chr "london" "paris" "rome"Veriler genellikle her satırda bir satır olacak şekilde metin olarak gelir. read.csv(text = lines), ilk satırı sütun adları olarak kullanıp sayıları otomatik olarak dönüştürerek bu satırları bir veri çerçevesine dönüştürür:
lines <- c("item,qty", "tea,2", "jam,5")
orders <- read.csv(text = lines)
print(orders)
print(sum(orders$qty))Çıktı:
item qty
1 tea 2
2 jam 5
[1] 7Görev
Kolaytable_info(names, ages) işlevini tamamlayın. İki vektörden name ve age sütunlarını içeren bir veri çerçevesi oluşturun. Üç satır döndürün: satır sayısıyla birlikte Rows: , sütun adlarının , ile birleştirilmiş hâliyle birlikte Columns: ve yaşı en büyük olan satırdaki adla birlikte Oldest: (yaşlar eşitse ilk olanı).
Sağlanan kod, adları ve yaşları virgülle ayrılmış iki satır olarak okur ve döndürülen her satırı yazdırır.
Kendin dene
table_info <- function(names, ages) {
# Kodunuzu buraya yazın
character(0)
}
# Sağlanan girdi/çıktı kodu: olduğu gibi bırakın
input <- suppressWarnings(readLines(file("stdin")))
cat(table_info(strsplit(input[1], ",")[[1]], as.numeric(strsplit(input[2], ",")[[1]])), sep = "\n")
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1Dizeleri Derinlemesine
substr() ile Alt Dizelersprintf() ile BiçimlendirmeBölme ve BirleştirmeDizelerde AramaMetin DeğiştirmeTekrar - Kullanıcı Adı Oluşturucu4Matrisler
Matris OluşturmaMatrisleri İndekslemeSatır ve Sütun ÖzetleriMatris AritmetiğiTekrar - Oturma Planı2Anahtar-Değer Aramaları
Adlandırılmış Vektör AramalarıAnahtarları DenetlemeAnahtar Ekleme ve KaldırmaAdlar Üzerinde DöngüTekrar - Hisse Senedi Masası5Proje - Not Defteri
Öğrenci EklemeNotları Kaydetme3Kümeler ve Sayma
Benzersiz DeğerlerKüme İşlemleriÜyelik Testleritable() ile SaymaTekrar - Etkinlik Konukları6Değer Olarak Fonksiyonlar
Anonim FonksiyonlarFonksiyonları GeçirmeFonksiyon DöndürmeDurum Bilgili Closure'larTekrar - İndirim Kuralları9Veri Çerçeveleri
Veri Çerçeveleri OluşturmaSütunlar ve SatırlarSatırları FiltrelemeEkleme ve SıralamaTekrar - Satış Raporu12Proje - Harcama Takipçisi
Harcamaları KaydetmeToplam HarcamaKendi başına pratik yap: Online R derleyicisi