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 romenrow() 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] 7Tantangan
MudahLengkapi 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")
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami string
Substring dengan substr()Memformat dengan sprintf()Memisahkan dan MenggabungkanMencari stringMengganti TeksRangkuman: Pembuat Nama Pengguna4Matriks
Membuat MatriksMengakses Elemen MatriksRingkasan Baris dan KolomAritmetika MatriksRangkuman: Denah Tempat Duduk2Pencarian Nilai-Kunci
Pencarian pada Vector BernamaMemeriksa KunciMenambahkan dan Menghapus KunciMenelusuri NamaUlasan: Meja Saham5Proyek, Buku Nilai
Menambahkan SiswaMencatat Nilai3Set dan Penghitungan
Nilai UnikOperasi setPengujian KeanggotaanMenghitung dengan table()Ulasan: Tamu Acara6Fungsi sebagai Nilai
Fungsi AnonimMengirim FungsiMengembalikan FungsiClosure dengan StateRangkuman: Aturan Diskon9Data Frame
Membuat Data FrameKolom dan BarisMemfilter BarisMenambahkan dan MengurutkanRangkuman: Laporan Penjualan12Proyek: Pelacak Pengeluaran
Mencatat PengeluaranTotal PengeluaranLatihan sendiri: Compiler R online