Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List rbind具有不同colr名称的多个csv文件_List_For Loop_Rbind - Fatal编程技术网

List rbind具有不同colr名称的多个csv文件

List rbind具有不同colr名称的多个csv文件,list,for-loop,rbind,List,For Loop,Rbind,我有一个包含107个csv文件(3560行x 13列)的列表,我想将它们组合在一个长数据框中final_df。它们共享相同的结构,但最后三列在每个文件中的标签不同 A = c("one", "two", "three","four","five") B = c(1, 2, 3, 4, 5) C = c(34,11,3,45,65) D = c(7,1,88,95,13) J_1 = c(23,

我有一个包含107个csv文件(3560行x 13列)的列表,我想将它们组合在一个长数据框中
final_df
。它们共享相同的结构,但最后三列在每个文件中的标签不同

A = c("one", "two", "three","four","five") 
B = c(1, 2, 3, 4, 5) 
C = c(34,11,3,45,65)
D = c(7,1,88,95,13)
J_1 = c(23,6,8,15,54)
J_2 = c(2,54,69,95,45)
J_3 = c(9,10,11,5,14)
W_1 = c(23,6,8,15,54)
W_2 = c(2,54,69,95,45)
W_3 = c(9,10,11,5,14)

file_1 <- data.frame(A,B,C,D,J_1,J_2,J_3)
file_2 <- data.frame(A,B,C,D,W_1,W_2,W_3)

提前感谢您的帮助

我使用下面的代码进行了管理,即使我必须在文件名中保留.csv

解决方案:

list_of_files <- list.files(path, pattern = "\\.csv$", all.files=FALSE,full.names =TRUE)

final_df <- c()

columnnames <- colnames = c("A", "B", "C", "D", "X_1", "X_2", "X_3")

for(i in 1:length(list_of_files)){
  
  file <- list_of_files[i]
  var <- read.csv(file)
  names(var) <- columnnames
  var$filename <-paste(sapply(strsplit(as.character(list_of_files[i]),'_'), "[", 13))
  final_df <- rbind(final_df,var)
}
列出\u文件的\u
      A B  C  D X_1 X_2 X_3 filename
1    one 1 34  7  23   2   9   file_1
2    two 2 11  1   6  54  10   file_1
3  three 3  3 88   8  69  11   file_1
4   four 4 45 95  15  95   5   file_1
5   five 5 65 13  54  45  14   file_1
6    one 1 34  7  23   2   9   file_2
7    two 2 11  1   6  54  10   file_2
8  three 3  3 88   8  69  11   file_2
9   four 4 45 95  15  95   5   file_2
10  five 5 65 13  54  45  14   file_2
list_of_files <- list.files(path, pattern = "\\.csv$", all.files=FALSE,full.names =TRUE)

final_df <- c()

columnnames <- colnames = c("A", "B", "C", "D", "X_1", "X_2", "X_3")

for(i in 1:length(list_of_files)){
  
  file <- list_of_files[i]
  var <- read.csv(file)
  names(var) <- columnnames
  var$filename <-paste(sapply(strsplit(as.character(list_of_files[i]),'_'), "[", 13))
  final_df <- rbind(final_df,var)
}