2016-10-31 54 views
1

我试图使用以下代码将大量没有标题的CSV文件导入到R中的单个数据框中,但会导致出现错误消息“names do不符合以前的名字“。我猜这个函数需要数据有标题。我可以在这个过程中使用哪些功能,允许在没有标题的情况下导入数据?将多个不带标题的CSV导入到单个R数据框中

filedir <- setwd("C:/test/") 
file_names <- dir(filedir) 
your_data_frame <- do.call(rbind,lapply(file_names,read.csv)) 
+0

@ZheyuanLi;如果数据没有标题,您是否需要添加“skip = 1”? 'header = FALSE'不够' – user20650

+0

@ZheyuanLi;嗯,可能是,但Q确实说*“没有标题的大量CSV文件”*。我认为困难在于'read.csv'的默认值是'header = TRUE',因此会使用许多不同的头文件作为第一行数据。 – user20650

+2

@ user20650正确,没有标题,正如我所说的。我完全忘记了headers = FALSE函数。这工作完美。谢谢! – user2479802

回答

1

如果此刻你的文件有不同的标题,那么我认为我们可以用

do.call(rbind, lapply(file_names, read.csv, skip = 1, header = FALSE)) 

提供所有的文件都列相同的数据类的数量相等。 skip = 1L会忽略每个文件中的现有标题,而header = FALSE将自动生成V1V2,...作为列名,与所有数据帧一致。

但如果你的文件没有标题,你只需要设置

do.call(rbind, lapply(file_names, read.csv, header = FALSE)) 

哦,如user20650好心提醒,你需要的第二个选项。

+0

不错的哲源李! –