MulaiMulai sekarang secara gratis

Membaca chunk sebagai data.frame

Pada contoh sebelumnya, kita membaca setiap chunk ke dalam fungsi pemrosesan sebagai matriks menggunakan mstrsplit(). Ini baik-baik saja saat kita membaca data berbentuk persegi panjang di mana tipe elemen pada setiap kolom sama. Jika tidak, kita mungkin ingin membaca data sebagai data.frame. Hal ini dapat dilakukan dengan membaca chunk sebagai matriks lalu mengonversinya menjadi data.frame, atau Anda dapat menggunakan fungsi dstrsplit().

Latihan ini adalah bagian dari kursus

Pemrosesan Data yang Dapat Diskalakan di R

Lihat Kursus

Petunjuk latihan

  • Dalam fungsi make_msa_table(), bacalah setiap chunk sebagai data frame.
  • Panggil chunk.apply() untuk membaca data dalam bentuk chunk.
  • Dapatkan total hitungan untuk setiap kolom dengan menjumlahkan semua baris.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Define the function to apply to each chunk
make_msa_table <- function(chunk) {
    # Read each chunk as a data frame
    x <- ___(chunk, col_types = rep("integer", length(col_names)), sep = ",")
    # Set the column names of the data frame that's been read
    colnames(x) <- col_names
    # Create new column, msa_pretty, with a string description of where the borrower lives
    x$msa_pretty <- msa_map[x$msa + 1]
    # Create a table from the msa_pretty column
    table(x$msa_pretty)
}

# Create a file connection to mortgage-sample.csv
fc <- file("mortgage-sample.csv", "rb")

# Read the first line to get rid of the header
readLines(fc, n = 1)

# Read the data in chunks
counts <- ___(fc, ___, CH.MAX.SIZE = 1e5)

# Close the file connection
close(fc)

# Aggregate the counts as before
___
Edit dan Jalankan Kode