我有这个密码
myvector <- c(3.45235, 1.32525, ... , 2.41351) # some numbers
write(myvector, "C:/mypath/myfile.txt") # I use "/" instead of "\"
我得到了以下错误:
文件(文件,ifelse(append,"a","w"))中出错:无法打开连接另外:警告消息:在文件(文件,ifelse(追加,"a","w"))中:无法打开文件"C:/mypath/myfile.txt":无此文件或目录
我读了this tutorial,但是我不知道我的代码出了什么问题。你知道吗?
- 编辑**:
正如@dickoa所指出的,我需要一个已存在的路径来写文件,所以我尝试以下面的方式进行简化:
file.exists("C:/")
write(myvector, "C:/myfile.txt")
- 令人惊讶的是 *:P路径"C:/"存在(结果为TRUE),但我得到了类似的错误:
文件(文件,ifelse(append,"a","w"))中出错:无法打开连接另外:警告消息:在文件(文件,ifelse(追加,"a","w"))中:无法打开文件"C:/mypath/myfile.txt":权限被拒绝
6条答案
按热度按时间cidc1ykv1#
我知道@dickoa在评论中回答了这个问题,但为了在这里提供至少一个答案,我想在Windows上用R经历几个简单的陷阱。
1.当你使用Windows的时候,你仍然需要用正斜杠来表示路径。在R中,反斜杠是用来转义值的。所以R中的路径看起来像这样:
C:/path/to/my/directory
1.在较新版本的Windows中,C:\受到保护,用户帐户无法写入。如果要写入C:\,您必须是管理员。您可以通过右键单击Windows中的R图标并选择“以管理员身份运行”来完成此操作。在安装程序包时也应执行此操作。如果您不是以管理员身份运行,则可能无权在某些Windows版本上安装程序包。
1.如果您不想以管理员身份运行R,而想写入文件,则默认情况下您将拥有
C:/Users/username/
目录的权限。所有的功劳都要归功于@dickoa,因为他在第一局做出了回答。
祝你好运!
j1dl9f462#
只是在补充答案。
我遇到这个错误的原因是,我试图保存的路径超过了256个字符,因此出现了错误。
一旦我减少了路径大小,问题就解决了。
7xllpg7q3#
我只是分享了这个答案,并给出了一个更好的解释here,但其要点是:
尝试在Excel中打开该文件,看看它是否被其他用户锁定。我收到了相同的错误消息,并能够找出一个同事在他们的计算机上打开了该文件,锁定了我的编辑能力。
ogsagwnx4#
有时问题出在文件的命名上。例如,我遇到过这个问题,当文件名中有“"时,因为有一个动态的名称列表。您可以使用以下内容来忽略这样的事情:查找文本= gsub(“/",”“,查找文本)。
8ulbf1ek5#
当你打开myfile.txt并运行代码时会发生这种情况。试着在你的机器中关闭myfile.txt并运行命令。它解决了你的问题。
f0brbegy6#
还有一种可能性,我在运行下面的代码时遇到过这个问题,因为我在启动RStudio之前已经成功运行了这个代码,所以这次重启RStudio后运行成功,所以有时候重启会解决问题,虽然我还没有弄清楚后面发生了什么。