我曾试图重新运行一些以前运作良好的程序,并且大多数程序使用与下面相同的调用,但现在它们都不起作用。
这可能是一个潜在的问题,代码变为生命,或者它在我的整体环境中已经发生了变化。
我尝试从2个月前使用程序时从存档重新加载完整目录,但它们现在不起作用。
在阅读了之前的答案后,我试过了
setwd("文档/ Paper1 / ThirdDraft / DTW_DATA")`
使数据和程序文件夹同行,但R不会让我改变它。
我偶尔是R的用户并且不熟悉环境,因此对可能的方法提供一些提示/建议会非常有帮助。
谢谢
数据文件位于Documents/Paper1/ThirdDraft/DTW_DATA/Binned_Base_Data
工作目录位于/ Users / briank / Documents / Paper1 / ThirdDraft / DTW_DATA / DTW_R_Programmes`
#
# Import Data
#
chan11Data <- read.csv("Documents/Paper1/ThirdDraft/DTW_DATA/Binned_Base_Data/Channel_11.csv",
+ header = TRUE, fill = TRUE)
Error in file(file, "rt") : cannot open the connection
In addition: Warning message:
In file(file, "rt") :
cannot open file 'Documents/Paper1/ThirdDraft/DTW_DATA/Binned_Base_Data/Channel_11.csv': No such file or directory
答案 0 :(得分:1)
如果您的工作目录是
/Users/briank/Documents/Paper1/ThirdDraft/DTW_DATA/DTW_R_Programmes
然后R将找不到此文件
"Documents/Paper1/ThirdDraft/DTW_DATA/Binned_Base_Data/Channel_11.csv"
但它应该能够找到
"/Users/briank/Documents/Paper1/ThirdDraft/DTW_DATA/Binned_Base_Data/Channel_11.csv"
或
"../Binned_Base_Data/Channel_11.csv"
答案 1 :(得分:-1)
您正在混淆绝对和相对文件路径,因此,您正在实施错误的编码实践,这会导致您现在遇到的麻烦。
要清楚,
Documents/Paper1/ThirdDraft/DTW_DATA
是从磁盘根目录开始的绝对文件路径,而
/Users/briank/Documents/Paper1/ThirdDraft/DTW_DATA/
是一个相对文件路径,它将在您的工作目录中启动。
由于您所做的一切都发生在以下目录中,因此该目录应该是您的工作目录:
DTW_DATA.Rproj
如果您使用RStudio,我建议您这样做,那么我建议您在该目录中创建一个项目。打开Rroject(例如setwd
)会自动将工作目录设置为上面的路径(即您使用DTW_R_Programmes
执行的操作)。
现在,在该目录中,您似乎有两个目录:
Binned_Base_Data
- 这就是我认为您的R脚本所在的位置Channel_11.csv
- 这是您的数据,例如DTW_R_Programmes
位于如果您通过双击打开R脚本,可能是您的工作目录设置为../Binned_Base_Data/Channel_11.csv
- 在这种情况下,您需要“返回”一个级别来查找数据,如在
../
我建议的解决方案是将所有R脚本移动到项目的根目录,即DTW_DATA
。,而不是像上面那样使用DTW_DATA/
1_a_script.r
2_another_script.r
etc.
Binned_Base_Data/
Channel_11.csv
Channel_12.csv
etc.
。这应该会限制未来的混乱,并使您的项目更易于管理。
你想拥有的是
d <- read.csv("Binned_Base_Data/Channel_11.csv")
然后,在您的脚本中,只需指出
{{1}}
...并享受它的纯粹简洁。
如果你的#rstats脚本的第一行是“setwd(...”我将进入你的实验室并将你的计算机设置为火灾。 - Twitter