Читать таблицу с разделителем = k пробел с переменной k - PullRequest
8 голосов
/ 25 июня 2011

У меня есть текстовый файл с данными, разделенными пробелами. Количество пробелов меняется, и я не могу использовать read.table. У вас есть советы (ps Я на Windows).

Две строки из файла:

 13001  200901010200    11.49   -23.01  -999.00
 46001  200904300200    56.30  -148.00  -999.00

Ответы [ 2 ]

7 голосов
/ 25 июня 2011

Даже с вашей правкой проблема все еще не ясна. Ваш пример работает на меня.

Lines <-
"13001  200901010200    11.49   -23.01  -999.00
46001  200904300200    56.30  -148.00  -999.00"

con <- textConnection(Lines)
x <- read.table(con)
close(con)
x
#      V1           V2    V3      V4   V5
# 1 13001 200901010200 11.49  -23.01 -999
# 2 46001 200904300200 56.30 -148.00 -999

Значение по умолчанию sep="" работает, потому что (как сказано в ?read.table):

Если ‘sep =" "’ (по умолчанию для ‘Read.table’) разделитель ‘белый пробел, то есть одно или несколько пробелов, табуляция, переводы строки или возврат каретки.

4 голосов
/ 23 декабря 2015

Использование sep="" логически эквивалентно любому количеству пробелов (в терминах регулярных выражений "\s+").

Чтобы прочитать ваши данные, используя read.delim() или read.table(), используйте:

read.delim(fileName, sep="")

Это также удаляет начальные пробелы (перед первым столбцом).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...