Импортируйте текстовый файл со странным интервалом между столбцами

Я пытаюсь импортировать в фрейм данных четыре столбца текстового файла с URL-адреса в Интернете. Файл имеет следующую структуру данных:

20080713 20 28    999.99
20080723 17 50     -0.21
20080802 15 49     -0.21
20080812 13 47     -0.23
20080822 11 46     -0.27
20080901  9 44     -0.31
20080911  7 43     -0.38

В частности, я прибегаю к комплектации readr. Поскольку я считаю, что файл разделен табуляцией, я использую команду read_tsv.

read_tsv(data.txt)

Однако результаты неудовлетворительны, поскольку он создает только один столбец с сеткой, и, похоже, не обнаруживает там столбцов, разделяющих табуляцию.

Даже попытка с одним пробелом не приведет к решению

read_delim(data.txt, delim = " ")

Как мне подойти к проблеме неизвестного интервала?

NB исходный файл находится здесь: https://ipad.fas.usda.gov/lakes/images/lake0534.TPJOJ.2.smooth.txt


20
1

Ответ:

Решено

Если вы посмотрите на данные в текстовом файле и увидите в нем символы, вы увидите, что разделителем между столбцами является пробел / несколько пробелов.

Если вы хотите использовать readr, вам нужно использовать опцию чтения данных на основе пробелов. Это просто read_table:

lakes <- read_table("lake0534.TPJOJ.2.smooth.txt", skip = 12, col_names = FALSE)
head(lakes)

# A tibble: 6 x 4
        X1    X2    X3    X4
     <int> <int> <int> <dbl>
1 20080723    17    50 -0.21
2 20080802    15    49 -0.21
3 20080812    13    47 -0.23
4 20080822    11    46 -0.27
5 20080901     9    44 -0.31
6 20080911     7    43 -0.38

Просто используя базу R read.table:

lakes <- read.table("lake0534.TPJOJ.2.smooth.txt", skip = 12, header = FALSE)
head(lakes)
        V1 V2 V3    V4
1 20080723 17 50 -0.21
2 20080802 15 49 -0.21
3 20080812 13 47 -0.23
4 20080822 11 46 -0.27
5 20080901  9 44 -0.31
6 20080911  7 43 -0.38