簡體   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