我有很多csv文件,我试图读取“data.table”。 csv文件的结构相同(3列)。如何在R中读取多个csv文件时将数据添加为列?
我的目标是读取一个主数据帧中的所有csv文件!每个csv文件都应该添加为不在列中的列。
例如:
我的主要DF结构应该是这样的:
Name Name2 csv_file_name_1 csv_file_name_2 .......
现在,我想要做的是:阅读新的CSV文件(我读的只是列号3)并添加到DF作为列。
例如,如果我有30 csv文件,我必须读取所有这些文件,并在主数据框中添加第3列作为新列。 (最终DF应该有30列)
我写了一些代码,我可以读取文件并获取文件名,并且一切正常。
files = list.files(path = path, pattern=".*csv")
for (i in 1:length(files)) assign(str_sub(files[i],11,-5),
fread(files[i],colClasses = c("NULL", "NULL", NA)))
但是我怎样才能将列添加到主DF? “分配”正在创建新的数据框!
有115个csv文件,我尝试过cbind,但仍然添加为行不列! –
@BigData您的评论没有多大意义,但我的猜测是您当前的代码有问题。如果你想要一个单一的最终数据框架,你的选择真的是按行或按列组合。从你所描述的,'cbind()'是去这里的路。 –