在试图为{disk.frame}构建活力点时,我一直会得到错误。我认为这是由于与NSE的{callr}的错误行为有关。
在RMarkdown中不使用{callr}可以吗?我认为{callr}在后台创建了一个新的R会话,但是如果我只是使用同一个会话来构建Markdown,那么我应该会没事的。但是,我无法在Rmarkdown文档中找到可以禁用{callr}的位置。
--- re-building 'intro-disk-frame.Rmd' using rmarkdown
Quitting from lines 230-235 (intro-disk-frame.Rmd)
Error: processing vignette 'intro-disk-frame.Rmd' failed with diagnostics:
no applicable method for 'filter_' applied to an object of class "NULL"
--- failed re-building 'intro-disk-frame.Rmd'
SUMMARY: processing the following file failed:
'intro-disk-frame.Rmd'
Error : Vignette re-building failed.
Error: <callr_status_error: callr subprocess failed: Vignette re-building failed.>
-->
<callr_remote_error: Vignette re-building failed.>
in process 17276
See `.Last.error.trace` for a stack trace.
Warning message:
In df_setup_vignette(excl = c("08-more-epic.Rmd", "06-vs-dask-juliadb.Rmd", :
NAs introduced by coercion更新
这是您可以尝试的代码。
---
title: "Test"
output: rmarkdown::html_vignette
---
``` {r setup, include = FALSE}remotes::install_github("xiaodaigh/disk.frame",ref=“发展”)
suppressPackageStartupMessages(library(disk.frame))
图书馆(Fst)
图书馆(Magrittr)
图书馆(Nycflights13)
图书馆(Dplyr)
图书馆(data.table)
您需要运行这个来支持多个工作人员。
如果不以交互方式运行,则限制在2个核心;最有可能在CRAN上运行。
将disk.frame设置为使用多个工作人员
if(交互式()){
setup_disk.frame()
强烈推荐,但是对于CRAN来说,它是双关的交互式(),因为
在CRAN上不允许更改用户选项。
选项(future.globals.maxSize= Inf)
}否则{
setup_disk.frame(2)
}
knitr::opts_chunk$set(
崩塌=真实,
注释= "#>“
)
```{r asdiskframe, cache=TRUE}图书馆(Nycflights13)
图书馆(Dplyr)
图书馆(disk.frame)
图书馆(data.table)
将航班数据转换为disk.frame,并将disk.frame存储在文件夹中
"tmp_flights“并在需要时覆盖任何内容
flights.df <- as.disk.frame(
航班,
outdir =file.path(tmp_flights.df(),"tmp_flights.df")
改写=真)
flights.df
```{r, dependson='asdiskframe'}图书馆(disk.frame)
flights.df %>%
Group_by(运营商) %>% #注意需要设置hard_group_by
总结(count= n(),mean_dep_delay = mean(dep_delay,na.rm=T)) %>% # mean遵循正常R规则
收集%>%
安排(承运人)
发布于 2019-12-17 22:58:17
我们可以直接在文件上使用rmarkdown::render()来避免这个问题。
https://stackoverflow.com/questions/59341040
复制相似问题