在R中读取数据为csv的问题

时间:2018-02-21 22:03:58

标签: r csv read.table read.csv

我有一个大型数据集(〜20000x1)。并非所有字段都已填充,换句话说,数据确实缺少值。每个功能都是一个字符串。

我已完成以下代码运行:

输入:

data <- read.csv("data.csv", header=TRUE, quote = "")
datan <- read.table("data.csv", header = TRUE, fill = TRUE)

第二个代码的输出:

  

扫描错误(file = file,what = what,sep = sep,quote = quote,dec = dec,:         第1行没有80个元素

输入:

datar <- read.csv("data.csv", header = TRUE, na.strings = NA)

输出:

  

警告讯息:       在scan(file = file,what = what,sep = sep,quote = quote,dec = dec,:         引用字符串中的EOF

我发现,基本上我遇到了4个问题。其中两个问题是上述错误消息。第三个是如果它没有吐出错误消息,当我查看全局环境窗口时,我看到并不是所有的行都被占用了,比如~14000个样本丢失但是特征号是正确的。我看到的另一个问题是,并非所有样本都被计算在内,并且特征编号不正确。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

尝试参数comment.char = ""以及引用。 R将读取散列(#)作为注释,并将缩短行。

答案 1 :(得分:0)

您可以使用Notepad ++打开CSV吗?这将允许您查看“不可见”字符和任何其他不可打印字符。该文件可能不包含您认为包含的内容!当您解决了采购问题后,您可以使用选择器工具选择CSV文件。

filename <- file.choose()
data <- read.csv(filename, skip=1)
name <- basename(filename)

或者,对路径进行硬编码,并将数据读入R。

# Read CSV into R
MyData <- read.csv(file="c:/your_path_here/Data.csv", header=TRUE, sep=",")