ПочатиПочніть безкоштовно

Зчитування фрагментів як data.frame

У попередньому прикладі ми передавали кожен фрагмент у функцію обробки як матрицю за допомогою mstrsplit(). Це підходить, коли ми читаємо прямокутні дані, де тип елемента в кожному стовпці однаковий. Коли це не так, зручніше зчитувати дані як data.frame. Це можна зробити або зчитавши фрагмент як матрицю та потім перетворивши його на data.frame, або скориставшись функцією dstrsplit().

Ця вправа є частиною курсу

Масштабована обробка даних в R

Переглянути курс

Інструкції до вправи

  • У функції make_msa_table() зчитайте кожен фрагмент як датафрейм.
  • Викличте chunk.apply() для зчитування даних фрагментами.
  • Отримайте загальні підсумки для кожного стовпця, підсумувавши всі рядки.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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
___
Редагувати та запускати код