【发布时间】:2020-02-11 12:03:52
【问题描述】:
我有 ASCII 文件,其中的数据由 $ 符号分隔。
数据中有23列,第一行是列名,但是行尾不一致,导致R导入数据不正确,数据相对于它们的列左移。
标题行:
ISR$CASE$I_F_COD$FOLL_SEQ$IMAGE$EVENT_DT$MFR_DT$FDA_DT$REPT_COD$MFR_NUM$MFR_SNDR$AGE$AGE_COD$GNDR_COD$E_SUB$WT$WT_COD$REPT_DT$OCCP_COD$DEATH_DT$TO_MFR$CONFID$REPORTER_COUNTRY
不以$ 符号结尾。
第一行:
7215577$8135839$I$$7215577-0$20101011$$20110104$DIR$$$67$YR$F$N$220$LBS$20110102$CN$$N$Y$UNITED STATES$
以$ 符号结尾。
我的导入命令:
read.table(filename, header=TRUE, sep="$", comment.char="", header=TRUE, quote="")
我的猜测是行尾之间的不一致导致 R 认为记录比标题多一列,从而使第一列成为 row.names 列,这是不正确的。添加规范 row.names=NULL 并不能解决问题。
如果我在文件中手动添加 $ 符号,问题就解决了,但这是不可行的,因为问题出现在数百个文件中。有没有办法指定如何读取标题行?我有其他选择吗?
附加信息:不同文件的标题会发生变化,因此我无法设置自己的列名向量
【问题讨论】: