Menu
CoddyTech

Membuat Data Frame

Termasuk bagian Logika dan Alur dalam perjalanan R di Coddy. Pelajaran 42 dari 64.

Data frame adalah tabel di R: setiap kolom berupa vektor dengan tipenya sendiri, dan semua kolom memiliki panjang yang sama, satu nilai untuk setiap baris. data.frame() membuatnya dari vektor bernama:

people <- data.frame(
  name = c("ada", "bo", "cy"),
  age = c(36, 22, 41),
  city = c("london", "paris", "rome")
)
print(people)

Output:

  name age   city
1  ada  36 london
2   bo  22  paris
3   cy  41   rome

nrow() dan ncol() memberikan ukuran, sedangkan names() menampilkan nama kolom. Tidak seperti matrix, kolom dapat berisi tipe yang berbeda: dalam contoh ini, teks dan angka.

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

Output:

[1] 3
[1] 3
[1] "name" "age"  "city"

str() menampilkan tipe dan nilai pertama dari setiap kolom, ini cara cepat untuk memeriksa isi data frame:

people <- data.frame(
  name = c("ada", "bo", "cy"),
  age = c(36, 22, 41),
  city = c("london", "paris", "rome")
)
str(people)

Output:

'data.frame':	3 obs. of  3 variables:
 $ name: chr  "ada" "bo" "cy"
 $ age : num  36 22 41
 $ city: chr  "london" "paris" "rome"

Data sering datang dalam bentuk teks dengan satu baris per baris. read.csv(text = lines) mengubah baris-baris tersebut menjadi data frame, menggunakan baris pertama sebagai nama kolom dan mengonversi angka secara otomatis:

lines <- c("item,qty", "tea,2", "jam,5")
orders <- read.csv(text = lines)
print(orders)
print(sum(orders$qty))

Output:

  item qty
1  tea   2
2  jam   5
[1] 7
challenge icon

Tantangan

Mudah

Lengkapi table_info(names, ages). Buat data frame dengan kolom name dan age dari kedua vektor. Kembalikan tiga baris: Rows: dengan jumlah baris, Columns: dengan nama kolom yang digabungkan menggunakan , , dan Oldest: dengan nama pada baris yang memiliki usia terbesar (baris pertama jika usia sama).

Code yang disediakan membaca nama dan usia sebagai dua baris yang dipisahkan koma, lalu mencetak setiap baris yang dikembalikan.

Coba sendiri

table_info <- function(names, ages) {
  # Tulis kodemu di sini
  character(0)
}

# Kode input/output sudah disediakan: biarkan apa adanya
input <- suppressWarnings(readLines(file("stdin")))
cat(table_info(strsplit(input[1], ",")[[1]], as.numeric(strsplit(input[2], ",")[[1]])), sep = "\n")
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler R online