read.csv row.names

nim*_*ish 13 r 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$sDATE2:15在其中,而不是4/10/2011根据需要.

如果我在excel中打开我的csv,什么也不做,然后保存它,一切都很酷.我必须处理数百个,因此手动保存excel不是我想要的.如果有一些程序化的东西我可以用python或其他方式预处理这些csv,那就太好了.

wkm*_*or1 29

read.csv如果标题中的值少于其他行中的值,则仅假定存在任何行名称.所以不知何故,你要么缺少一个列名,要么有一个你不想要的额外列.


ple*_*iby 5

您可能确实有一个额外的列。
但它可能是由原始电子表格中数据右侧实际上为空的杂散格式单元格(或单元格列)引起的。
关键在于:Excel 将在 CSV 文件中保存工作表中设置格式的任何空单元格的空字段。这就是您可能遇到此问题的原因:因为当您使用 Excel 打开 CSV 文件并重新保存它时,R 的问题就会消失。
发生的情况:当您将 CSV 文件拉回 Excel 时,它随后会忽略数据右侧或下方的空单元格(因为 CSV 文件没有格式设置)。

结论:将格式化电子表格保存为 CSV 文件时要小心,以便与统计包一起使用。杂散格式是指 CSV 中的杂散字段。