【发布时间】:2020-03-26 12:44:16
【问题描述】:
我一直在尝试读取一个以管道分隔的 csv 文件,其中包含有关一些志愿者水质数据的 96 个变量。在文件中随机出现单引号和双引号以及分号、破折号、斜线和可能的其他特殊字符
姓名:乔纳森“乔”史密斯;杰瑞;艾米丽;等等
从几个变量的输出(例如IsNewVolunteer)来看,r 似乎在读取数据时出现问题。 IsNewVolunteer 应该始终是 Y 或 N,但数字正在出现,当我查询这些行时,数据似乎正在发生变化。显然不是名称的变量位于Firstname 和lastname 列中。
原始数据格式使得查看和排除故障有点困难,尤其是由于额外的变量。我会找到删除它们的方法,但与 R 合作的目标是提供能够在经常更新的数据集上运行的代码。
我试过了
read.table("dnrvisualstream.csv",sep="|",stringsAsFactors = FALSE,quote="")
但这会产生以下错误:
扫描错误(文件 = 文件,什么 = 什么,sep = sep,quote = quote,dec = dec,: 第 132 行没有 94 个元素
但是,我注意到第 132 行并没有什么特别之处。我在
上取得了更大的成功read.csv("dnrvisualstream.csv",sep="|",stringsAsFactors = FALSE,quote="")
但这仍然会产生如上所述的偏移和错误。有什么我做错了吗?任何信息都会有所帮助。
【问题讨论】:
-
请查看How to make a great R reproducible example,以修改您的问题,并从您的数据中提取更小的样本(查看
?dput())。发布您的数据或没有数据的图像会使我们难以为您提供帮助! -
您是否尝试过指定编码?类似:
read.csv("dnrvisualstream.csv",sep="|",stringsAsFactors = FALSE,quote="", encoding = "UTF-8")。在屏幕截图中可见的第 2、3、4 和 21,22 行中还有多个||||分隔符。您可能需要在 R 中或手动编辑 .csv 以删除其中的一些。
标签: csv r r csv data-import