Ответ 1
read.csv
предполагает, что есть какие-либо имена строк, если в заголовке меньше значений, чем в других строках. Таким образом, у вас либо отсутствует имя столбца, либо дополнительный столбец, который вам не нужен.
Я пытаюсь прочитать файл csv, ориентированный на столбец, в R как фрейм данных.
первая строка файла выглядит так:
sDATE, sTIME,iGPS_ALT, ...
а затем каждая дополнительная строка является измерением:
4/10/2011,2:15,78, ...
когда я пытаюсь прочитать это в R, через
d = read.csv('filename')
Я получаю дублируемую ошибку row.names, так как R считает, что первый столбец данных - это имена строк, и поскольку все измерения были выполнены в тот же день, значения в первом столбце не изменяются.
Если я поместил row.names = NULL
в вызов read.csv
, я получаю посторонний столбец d$row.names
, который соответствует столбцу sDATE, и все "сдвинуто" на один столбец вниз, поэтому d$sDATE
будет иметь 2:15
> в нем, а не 4/10/2011
по мере необходимости.
Если я открою свой csv в excel, ничего не делаю, а затем сохраняю, все круто. Я должен обрабатывать сотни из них, поэтому сохранение вручную в excel не то, что я хочу. Если есть что-то программное, которое я могу сделать для предварительной обработки этих csv в python или иначе, это было бы здорово.
read.csv
предполагает, что есть какие-либо имена строк, если в заголовке меньше значений, чем в других строках. Таким образом, у вас либо отсутствует имя столбца, либо дополнительный столбец, который вам не нужен.
У вас, вероятно, есть дополнительный столбец.
Но это, вероятно, возникает из-за отклоненной форматированной ячейки (или столбца ячеек), которая фактически пуста, справа от ваших данных в вашей исходной таблице.
Вот ключ: Excel сохранит пустые поля в CSV файле для любых пустых ячеек, отформатированных на вашем листе.
Вот почему у вас, вероятно, есть эта проблема: потому что, когда вы открываете CSV файл с Excel и сохраняете его, проблема с R уходит.
Что происходит: когда вы вытаскиваете CSV файл обратно в Excel, он впоследствии игнорирует пустые ячейки справа или ниже ваших данных (поскольку файлы CSV не имеют форматирования).
Заключение: будьте осторожны, сохраняйте форматированные таблицы в виде файлов CSV для использования со статистическими пакетами. Форматирование форматирования - это случайные поля в CSV.
Одна из возможных причин может быть дополнительной запятой в конце строк после строки заголовка. Excel молча игнорирует их и удаляет при сохранении.
По крайней мере, это было для меня.
Я столкнулся с той же проблемой. Он был разрешен путем добавления header=TRUE
, как показано ниже
tempdata <- read.csv("C:\\File.csv",header=TRUE)
Первый столбец, который был столбцом даты, правильно выровнен.