很明显,我正在编写Rmd带有一些R代码块的报告。我的代码结构如下:
functions.R自定义功能的脚本DataDependency.R用于加载软件包和我的数据的脚本,这已经functions.R正是这些任务的来源analysis.R脚本采购DataDependency.Rfurtheranalyis.R采购analysis.R,从那时起,我不必多次编写一些步骤因此,我在很大程度上取决于以嵌套方式获取文件的功能。但是,我无法做到这一点,RMarkdown每次都会给我带来错误(请参阅下文)。我太傻了还是缺少此功能?到目前为止,所有尝试均导致错误。
我看到关于该主题的其他问题,只包括采购的.Rmd内部.Rmd文件(这里)之间的区别source(),并read_chunk()(在这里)。两者都没有回答我的问题。
我已经尝试确保产生错误的确实是嵌套资源。因此,这是一个最小的工作示例:
文件 mweA.R
x = 1:10
Run Code Online (Sandbox Code Playgroud)
和文件 mweB.R
source("./mweA.R")
y = x * x
Run Code Online (Sandbox Code Playgroud)
现在,在我的.Rmd文件中,我只想加载文件B(或者必须加载两个文件),然后继续:
```{r}
source("./mweB.R")
plot(y ~ x)
```
Run Code Online (Sandbox Code Playgroud)
即使我这样做:
```{r}
source("./mweA.R")
source("./mweB.R")
plot(y ~ x)
```
Run Code Online (Sandbox Code Playgroud)
发生相同的错误,即:
Error in file(filename, "r", encoding …Run Code Online (Sandbox Code Playgroud) 我有一个脚本,用于生成带有多行条带文本的多面图。但这不再起作用了。下面是一个 MWE,应该从中解析条带文本,例如"bold(A)\nreally~long~extra":
一个
很长的额外
正如您通过调试功能看到的那样,第二行被切断了。我什至增加了利润,但无济于事......
任何想法是什么问题?
exmpl = data.frame(a = 1:100,
b = rep(1:5, 20),
f = factor(rep(LETTERS[1:5], each = 20))) %>%
as_tibble() %>%
mutate(f2 = paste0("bold(",f, ")\nreally~long~extra"))
ggplot(exmpl, aes(x = b, y = a)) +
facet_grid(. ~ f2, labeller = label_parsed) +
geom_point() +
theme(strip.text.x = element_text(size = 10, hjust = 0, margin = margin(.5, 0, .5, 0, "cm"), debug = T))
Run Code Online (Sandbox Code Playgroud)
当我们这样做时,我只是想出了这个解决方法,因为我之前使用的解决方案label_bquote()不再有效。请看看另一个问题,也许你也可以帮我解决这个问题?