尝试通过read.table读取文件夹中的txt文件时出现了一个非常奇怪的问题。它识别文件的存在(我通过print方法调试)但它无法将文件读入表中。 有人知道出了什么问题吗? 我已经查看了其他相关主题,但我没有找到适合我问题的答案。 这是我的代码:
path1 = "/home/yoda/Desktop/thesis/TullyFisher/Galac.RC_Dwarfs/TFRCHI/bins_29_04/7bins_TF/datasets/TFR/"
out.file<-""
file.names1 <- dir(path1, pattern =".txt")
listofdfs<-list()
for(i in 1:length(file.names1))
{
print(file.names1[i])
file <- read.table(file.names1[i])
df<-data.frame(as.numeric(file[[1]]),as.numeric(file[[2]]),as.numeric(file[[3]]),as.numeric(file[[4]]))
listofdfs[[i]]<-df
#write.table(listofdfs[[i]],file=paste0("outliers_",file.names1[i],quote=F,row.names = F, col.names = F))
}
它返回:
[1] "toplot1_normalTF.txt"
Error in file(file, "rt") : cannot open the connection
In addition: Warning message:
In file(file, "rt") :
cannot open file 'toplot1_normalTF.txt': No such file or directory
答案 0 :(得分:2)
必须是文件路径。该目录不是工作目录,dir()
仅返回文件名而不是完整路径。使用full.names
参数应该可以解决这个问题。例如
dir("~/Desktop", full.names = T)
答案 1 :(得分:0)
错误是因为您尝试读取的文件不在当前目录中。 R总是尝试从当前目录中读取文件。
要了解您当前的目录,请尝试:
getwd()
它与path1
不同。
由@R.S.S。请使用full.names。请尝试以下:
path1 = "/home/yoda/Desktop/thesis/TullyFisher/Galac.RC_Dwarfs/TFRCHI/bins_29_04/7bins_TF/datasets/TFR/"
out.file<-""
file.names1 <- dir(path1, pattern =".txt",full.names = T)