Как использовать read_table или fread в этом конкретном случае? - PullRequest
0 голосов
/ 05 февраля 2020

Как вы знаете, read.table в R - очень полезная, но медленная функция, особенно когда дело касается чтения больших баз данных. Для решения проблем, связанных с этой функцией, существуют такие функции, как read_table и fread из пакетов readr и data.table. К сожалению, их аргументы отличаются от read.table, что затруднило мне повторение этого примера:

download.file("https://datasets.imdbws.com/title.basics.tsv.gz", "mov_title")
download.file("https://datasets.imdbws.com/title.ratings.tsv.gz", "mov_rating")

title <- read.table("mov_title", sep="\t", header=TRUE,
    fill=TRUE, na.strings="\\N", quote="")

rating <- read.table("mov_rating", sep="\t", header=TRUE,
    fill=TRUE, na.strings="\\N", quote="")

В основном я хочу использовать fread или read_table (или оба, если это возможно), чтобы создать мой " Титульные и рейтинговые базы данных. Любые советы или рекомендации будут высоко оценены.

Ответы [ 2 ]

3 голосов
/ 05 февраля 2020

это, кажется, работает нормально ... data.table::fread() может обрабатывать gz-файлы.

Установить \t (= tab) в качестве разделителя.
Так как некоторые заголовки mov ie содержат кавычки, ставьте кавычки в ничто quote = "". (или нет, и просто примите предупреждения).

library( data.table )
title  <- fread( "https://datasets.imdbws.com/title.basics.tsv.gz", 
                 sep = "\t", quote = "" )
rating <- fread( "https://datasets.imdbws.com/title.ratings.tsv.gz", 
                 sep = "\t", quote = "" )
1 голос
/ 05 февраля 2020

fread поддерживает файл .gz , а также чтение из URL. Вы можете оставить остальные аргументы такими же, как в read.table

library(data.table)
title=fread("https://datasets.imdbws.com/title.basics.tsv.gz",sep = "\t",quote = "",na.strings = "\\N",header = T,fill = T) 

> dim(title)
[1] 6518809       9
> 
> 
> head(title)
      tconst titleType           primaryTitle          originalTitle isAdult startYear endYear
1: tt0000001     short             Carmencita             Carmencita       0      1894      NA
2: tt0000002     short Le clown et ses chiens Le clown et ses chiens       0      1892      NA
3: tt0000003     short         Pauvre Pierrot         Pauvre Pierrot       0      1892      NA
4: tt0000004     short            Un bon bock            Un bon bock       0      1892      NA
5: tt0000005     short       Blacksmith Scene       Blacksmith Scene       0      1893      NA
6: tt0000006     short      Chinese Opium Den      Chinese Opium Den       0      1894      NA
   runtimeMinutes                   genres
1:              1        Documentary,Short
2:              5          Animation,Short
3:              4 Animation,Comedy,Romance
4:             NA          Animation,Short
5:              1             Comedy,Short
6:              1                    Short

...