2011-12-19 2 views
2

Я пытаюсь прочитать CSV-файл в R (под Linux) с помощью read.csv(). По завершении функции я обнаруживаю, что количество строк, считанных в R, меньше, чем количество строк в CSV-файле (полученное wc-l). Кроме того, каждый раз, когда я читаю этот конкретный файл CSV, всегда пропускаются одни и те же строки. Я проверил ошибки форматирования в CSV-файле, но все выглядит хорошо.R Программирование: read.csv() неожиданно пропускает строки

Но если я извлекаю строки, пропущенные в другой CSV-файл, тогда R может читать очень строки из этого файла.

Я не могу найти нигде в чем проблема. Любая помощь очень ценится.

+2

Возможно, вы можете разместить некоторые данные, чтобы мы могли воспроизвести проблему? –

+0

Вот ссылка на файл CSV, который я пытаюсь прочитать, - http://dl.dropbox.com/u/6967747/bugs.csv –

+1

use 'quote =" "'; см. '? read.csv' –

ответ

11

Ниже приведен пример использования count.fields, чтобы определить, где искать и, возможно, применять исправления. У вас есть скромное количество строк, которые являются 23 'поля' ширина:

> table(count.fields("~/Downloads/bugs.csv", quote="", sep=",")) 
    2  23  30 
    502  10 136532 
> table(count.fields("~/Downloads/bugs.csv", sep=",")) 
# Just wanted to see if removing quote-recognition would help.... It didn't. 
    2  4  10  12  20  22  23  25  28  30 
11308  24  20  33 642 251  10  2 170 124584 
> which(count.fields("~/Downloads/bugs.csv", quote="", sep=",") == 23) 
[1] 104843 125158 127876 129734 130988 131456 132515 133048 136764 
[10] 136765 

Я смотрел на 23 с:

txt <-readLines("~/Downloads/bugs.csv")[ 
       which(count.fields("~/Downloads/bugs.csv", quote="", sep=",") == 23)] 

И они были octothorpes ("#", хэш-знаки) которые являются символами комментария в языке данных R.

> table(count.fields("~/Downloads/bugs.csv", quote="", sep=",", comment.char="")) 
    30 
137044 

Так .... использовать эти параметры в read.table и вы должны быть «хорошо идти».

+0

Отличная демонстрация 'count.fields'. –

+0

Thats brilliant! Спасибо за помощь! –

Смежные вопросы