Зачем read.csv в r сдвигать все мои данные по столбцу?

Я пытаюсь импортировать файл csv в R. Я делал это несколько раз, но с этим конкретным файлом он возвращает мне ошибку.

В первой строке CSV у меня есть названия столбцов, которые находятся в тексте части и в номерах частей, поскольку они представляют месяц, год и номера некоторых точек наблюдения. Файл .csv, даже если он больше, выглядит следующим образом:

Mo,Yr2,4,10,32,38,41,60,63,82

9,1980,    6.0,    0.2,    0.7,    1.0,    0.4,    0.7,    0.4,    1.5

10,1980,   25.1,   39.7,   41.4,   15.5,   20.8,   43.6,   37.1,   17.8

11,1980,   11.5,    8.6,   23.6,    7.5,   15.6,   12.2,   13.4,    7.6

12,1980,   59.6,   90.0,  103.9,   50.0,   67.1,  109.2,   81.6,   48.4  

Я пробовал следующее, получая ошибку:

> m <- read.csv(file="my_file.csv", sep=",",head=TRUE)

  Error in read.table(file = "my_file.csv", sep = ",", head = TRUE) : 
  duplicate 'row.names' are not allowed

поэтому я пробовал:

> m <- read.csv(file="my_file.csv", sep=",",head=TRUE,row.names=NULL)

> m

    row.names   Mo   Yr2    X4   X10   X32   X38   X41   X60   X63   X82

1           9 1980   6.0   0.2   0.7   1.0   0.4   0.7   0.4   1.5   NA

2          10 1980  25.1  39.7  41.4  15.5  20.8  43.6  37.1  17.8   NA

3          11 1980  11.5   8.6  23.6   7.5  15.6  12.2  13.4   7.6   NA

4          12 1980  59.6  90.0 103.9  50.0  67.1 109.2  81.6  48.4   NA

Может ли кто-нибудь сказать мне, в чем проблема? заранее спасибо


person Corrado    schedule 25.09.2012    source источник
comment
Ваш образец читается просто отлично для меня. Как вы догадываетесь, в вашем файле могут быть строки с более чем 10 значениями...?   -  person joran    schedule 25.09.2012
comment
Исходный файл имеет 76 столбцов и 360 строк данных плюс имя одного из столбцов, это только его часть. В любом случае, глядя на это в excel, все ячейки заполнены, и вне таблицы нет значений. Другое дело, если я пытаюсь импортировать его без заголовка, он работает.   -  person Corrado    schedule 25.09.2012
comment
Ну, я бы не всегда верил всему, что вы видите в Excel.   -  person joran    schedule 25.09.2012
comment
Это работает в том смысле, что все значения остаются правильно выровненными в своих столбцах, но в конце добавляется 77-й столбец со значениями NA везде.   -  person Corrado    schedule 25.09.2012
comment
Да, где-то там определенно есть дополнительный разделитель, но без значения, поэтому вы не можете увидеть его в Excel: дополнительное значение пустое, поэтому это просто пустая ячейка.   -  person joran    schedule 25.09.2012
comment
Спасибо. Используя таблицу (count.fields (..)) я нашел ошибку. В конце каждой строки были запятые, которых я не видел. Спасибо тебе, Джоран, а также Эрлу.   -  person Corrado    schedule 25.09.2012


Ответы (1)


Вы использовали count.fields, чтобы увидеть, имеют ли все строки одинаковое количество разделителей? table(count.fields( ..)) — полезная проверка.

Я видел описанную вами проблему, когда количество разделителей в строке заголовка отличается от количества разделителей в остальной части файла.

person Earl F Glynn    schedule 25.09.2012