繁体   English   中英

R:无法打开文件:没有这样的文件或目录

[英]R: Cannot Open File : No such file or directory

我有如下脚本:

setwd ("I:/prep/Coord/RData/test")

#load .csv files
a.files <- grep("^Whirr", dir(), value=TRUE) #pattern matching
b.files <- paste0("Files_", a.files) 

for(i in length(a.files)){
    a <- read.table(a.files[i], header=T, sep=",", row.names=1) #read files start with     Whirr_
    b <- read.table(b.files[i], header=T, sep=",", row.names=1) #read files start with Files_
    a
    b

    cr <- as.matrix(a) %*% as.matrix(t(a)
    cr


    diag(cr)<-0
    cr

    #write to file
    write.csv(cr, paste0("CR_", a.files[i], ".csv"))
}

基本上,我想做的是比较文件名末尾具有相似文件名的两个文件,然后进行计算,然后将结果写入文件。

当我尝试打印a.files和b.files时,输出对我来说似乎还可以。 输出如下:

> a.files <- grep("^Whirr", dir(), value=TRUE) #pattern matching
> b.files <- paste0("Files_", a.files, sep="") 
Error: could not find function "paste0"
> a.files
[1] "Whirr_127.csv" "Whirr_128.csv"
> b.files
[1] "Files_ Whirr_127.csv" "Files_ Whirr_128.csv"
> 

我尝试使用多个文件来填充脚本,但是出现如下错误消息:

Error in file(file, "rt") : cannot open the connection
In addition: Warning message:
In file(file, "rt") : cannot open file 'Files_ Whirr_128.csv': No such file or directory

因此,我尝试使用file.choose,但它对我也不起作用。

感谢专家的帮助

更改行:

b.files <- paste0("Files_", a.files) 

至:

b.files <- paste("Files_", a.files, sep="")

您正在使用的R版本没有paste0 (我在先前的答案中看到了给您的代码)。 这意味着您保留的是b.files的早期版本,也许是使用paste构造的。

关于这一点的重要一课是,每当您收到有关行的错误消息,例如Error: could not find function "paste0" ,这意味着该行没有发生! 您必须先纠正该错误,然后再粘贴代码,或在执行操作时告诉我们有关错误的信息-否则,我们假定b.files <- paste0("Files_", a.files)行有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM