Sütunlar ve Satırlar
Coddy'nin R Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 43 / 64.
df$col ve df[["col"]] bir sütunu düz vektör olarak döndürür; bu nedenle her vektör işlevi onun üzerinde çalışır. [[ ]], bir değişkende saklanan sütun adını kabul eder:
people <- data.frame(
name = c("ada", "bo", "cy"),
age = c(36, 22, 41),
city = c("london", "paris", "rome")
)
print(people$age)
print(mean(people$age))
col <- "city"
print(people[[col]])Çıktı:
[1] 36 22 41
[1] 33
[1] "london" "paris" "rome" Köşeli parantezler matrislerde olduğu gibi [row, column] alır. Boş bırakılan bir taraf her şeyi seçer ve sütunlar ada göre seçilebilir:
people <- data.frame(
name = c("ada", "bo", "cy"),
age = c(36, 22, 41),
city = c("london", "paris", "rome")
)
print(people[2, ])
print(people[, c("name", "city")])Çıktı:
name age city
2 bo 22 paris
name city
1 ada london
2 bo paris
3 cy romeBir hücre df[row, column] şeklindedir ve ona atama yapmak değeri değiştirir. Bir sütunun tamamına atama yapmak da aynı şekilde çalışır:
people <- data.frame(
name = c("ada", "bo", "cy"),
age = c(36, 22, 41),
city = c("london", "paris", "rome")
)
print(people[3, "age"])
people[3, "age"] <- 42
people$city <- toupper(people$city)
print(people)Çıktı:
[1] 41
name age city
1 ada 36 LONDON
2 bo 22 PARIS
3 cy 42 ROMESatırları tek tek işlemek için seq_len(nrow(df)) üzerinde döngü kurun ve her hücreyi df[i, "col"] veya df$col[i] ile okuyun:
people <- data.frame(
name = c("ada", "bo", "cy"),
age = c(36, 22, 41),
city = c("london", "paris", "rome")
)
for (i in seq_len(nrow(people))) {
cat(people$name[i], "lives in", people[i, "city"], "\n")
}Çıktı:
ada lives in london
bo lives in paris
cy lives in rome Görev
Kolayperson_card(df, i) işlevini tamamla. i satırı için sütun başına bir satır, sütun adı ve o satırdaki değerle birlikte name: bo biçiminde, sütunların sırasına göre döndür.
Sağlanan kod, tabloyu girdiden read.csv(text = input) ile okur: ilk satır sütun adlarını, sonraki her satır ise virgüllerle ayrılmış değerlerden oluşan bir satırı içerir. Son girdi satırı i değerini içerir ve kod döndürülen her satırı yazdırır.
Kendin dene
person_card <- function(df, i) {
# Kodunuzu buraya yazın
character(0)
}
# Sağlanan girdi/çıktı kodu: olduğu gibi bırakın
input <- suppressWarnings(readLines(file("stdin")))
df <- read.csv(text = input[-length(input)])
i <- as.numeric(input[length(input)])
cat(person_card(df, i), 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