相关疑难解决方法(0)

检查目录是否存在,如果不存在则创建

我经常发现自己编写的R脚本会产生大量的输出.我发现把这个输出放到它自己的目录中更干净.我在下面写的内容将检查目录是否存在并移入其中,或创建目录然后移入其中.有没有更好的方法来解决这个问题?

mainDir <- "c:/path/to/main/dir"
subDir <- "outputDirectory"

if (file.exists(subDir)){
    setwd(file.path(mainDir, subDir))
} else {
    dir.create(file.path(mainDir, subDir))
    setwd(file.path(mainDir, subDir))

}
Run Code Online (Sandbox Code Playgroud)

r

361
推荐指数
8
解决办法
26万
查看次数

Rscript:确定执行脚本的路径

我有一个名为的脚本foo.R包含另一个脚本other.R,该脚本位于同一目录中:

#!/usr/bin/env Rscript
message("Hello")
source("other.R")
Run Code Online (Sandbox Code Playgroud)

但我想R发现other.R无论当前的工作目录是什么.

换句话说,foo.R需要知道自己的路径.我怎样才能做到这一点?

r file path rscript r-faq

234
推荐指数
14
解决办法
11万
查看次数

获取R脚本的路径

有没有办法以编程方式在脚本本身内找到R脚本的路径?

我问这个是因为我有几个脚本使用RGtk2并从.glade文件加载GUI.

在这些脚本中,我不得不setwd("path/to/the/script")在开头放置一条指令,否则将找不到.glade文件(位于同一目录中).

这很好,但如果我将脚本移动到另一个目录或另一台计算机,我必须更改路径.我知道,这不是什么大问题,但有一些东西会很好:

setwd(getScriptPath())

那么,是否存在类似的功能?

r path

62
推荐指数
5
解决办法
5万
查看次数

"将工作目录设置为源文件位置"的命令

RStudio有一个有用的功能:

Session -> Set Working Directory -> To Source File Location
Run Code Online (Sandbox Code Playgroud)

有没有办法在不使用下拉菜单的情况下执行此操作?

更新:

也许更好的方式是:

是否有命令返回当前r脚本的文件路径?

我也找到了这个帖子,但解决方案对我没用.甚至不是哈德利!

Rscript:确定执行脚本的路径

r working-directory rstudio

12
推荐指数
1
解决办法
1万
查看次数

跟踪 R 脚本文件中未编码字符的确切位置

更多的是一个提示问题,在很多情况下可以节省大量时间。我有一个 script.R 文件,我尝试保存该文件并收到错误:

并非 ~/folder/script.R 中的所有字符都可以使用 ASCII 进行编码。要使用不同的编码保存,请从主菜单中选择“文件 | 使用编码保存...”。

我在这个文件上工作了几个月,今天我疯狂地编辑我的代码,第一次得到这个错误,所以显然我在今天工作时插入了一个无法编码的字符。

我的问题是,我可以跟踪并找到这个特定字符以及文档中的具体位置吗?

我的代码大约有1000行,手动搜索几乎是不可能的。

encoding r

5
推荐指数
1
解决办法
2513
查看次数

标签 统计

r ×5

path ×2

encoding ×1

file ×1

r-faq ×1

rscript ×1

rstudio ×1

working-directory ×1