Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.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
R如何向csv文件列表中添加列_R - Fatal编程技术网

R如何向csv文件列表中添加列

R如何向csv文件列表中添加列,r,R,我试图将每个文件的名称添加到.csv列表中,作为最后一列,所有值也都等于该名称。我明白了,但结果显示文件像是被转置了什么的。我不知道如何修复它,我试过data.frame,unlist,但什么都没有 代码如下: workbooks <- list.files(pattern="*.csv", full.names= T) read_workbooks <- lapply(workbooks, read.csv) for (i in 1:length(workb

我试图将每个文件的名称添加到.csv列表中,作为最后一列,所有值也都等于该名称。我明白了,但结果显示文件像是被转置了什么的。我不知道如何修复它,我试过data.frame,unlist,但什么都没有

代码如下:

workbooks <- list.files(pattern="*.csv", full.names= T)

read_workbooks <- lapply(workbooks, read.csv)

for (i in 1:length(workbooks)){
  
  name_of_file[i] <- str_replace_all(str_sub(workbooks[i], 3,
                 end = unlist(gregexpr("-current",workbooks[i]))-1),"_"," ")
  
  temp_workbook <- cbind(read_workbooks[i],"Filer Name" = name_of_file[i])
  
  write.csv(temp_workbook, file = paste(name_of_file[i],".csv",sep = ""),
            row.names = F)
}

工作簿您可以在匿名函数的帮助下,在相同的
lappy
调用中执行此操作

workbooks <- list.files(pattern="*.csv", full.names= TRUE)

lapply(workbooks, function(x) {
  write.csv(transform(read.csv(x), file_name = basename(x)),sprintf('new_%s.csv',
        tools::file_path_sans_ext(basename(x))), row.names = FALSE)
})

工作手册谢谢Ronak,我不太明白你做了什么,但不管怎样,我得到了这个错误。。。数据中有错误。frame(list)(Stock=logical(0),Symbol=logical(0),Type=logical(0),:参数表示行数不同:0,1检查
工作簿中的所有文件。我认为其中一些文件是空文件,因此您会收到错误。好的,谢谢,就是这样