【发布时间】:2015-03-17 12:59:30
【问题描述】:
我正在尝试将 CSV 文件导入 R 以使用线性/逻辑回归进行欺诈分析。本来应该很简单的事情现在变得复杂了……这个数据集包含 26 个变量和超过 200 万行。我使用此命令行导入 CSV 文件:
data <- read.csv('C:/Users/amartinezsistac/OneDrive/PROYECTO/decla_cata_filtrados.csv',header=TRUE,sep=";")
尽管如此,R 仅在 1 个变量中导入了 230 万行。我附上此步骤后获得的View(data) 的 以获取更多信息。我试过从 sep=";" 切换到 sep="," 使用:
datos <- read.csv('C:/Users/amartinezsistac/OneDrive/PROYECTO/decla_cata_filtrados.csv',header=TRUE,sep=",")
但收到此错误消息:
Error in read.table(file = file, header = header, sep = sep, quote = quote, :
more columns than column names
我尝试将 read.csv 更改为 read.csv2(230 万行和 1 个变量作为结果);或使用 fill=TRUE 选项(结果相同),但导入不正确。我附上了在 Excel 中打开的原始 CSV 外观的另一张图片。
我提前感谢任何建议或帮助解决它。
【问题讨论】:
-
检查你的分隔符。
-
嗨@Avinash,感谢您的回复。通过检查分隔符,您到底指的是什么?我用过 sep=";"和 sep="," 两者。在第一种情况下,R 将其作为 1 个变量导入,在第二种情况下,它向我显示错误“列多于列名”
-
尝试使用
quote = ""禁用引号 - 查看?read.table和?scan的文档以获取其他替代方法。我假设问题在于嵌入的引号。请参阅我的回答 here 以获得类似的问题和答案。 -
请不要通过 stackoverflow 以外的任何方式共享您的数据。删除屏幕截图并将前三行左右的数据添加为原始帖子中的代码块。也可以考虑使用
read.table()。 -
感谢您和@zx8754 的回复。我无法共享文件的原因是因为数据的机密性。这就是我使用屏幕截图的原因,尽管我知道在这些情况下共享文件是应该做的。谢谢。