Я химик, который использует R и R Studio для анализа данных масс-спектрометрии.У меня есть автоматизированные сценарии, которые обрабатывают мои данные, потому что файлов много.Сценарии вызывают rmarkdown, используя render()
для импорта данных, манипулирования фреймом данных, сохранения обработанного фрейма данных в формате .csv и генерирования html графиков.У меня проблема с рендерингом файлов rmarkdown, так как я недавно обновился до R v3.5.1 и R Studio v1.1.463.Я получаю ошибку: Error: path for html_dependency not found:
, которую я получаю, если использую кнопку knit
в R Studio или render()
.Сценарий внутри rmarkdown запускается до конца, поскольку полученные объекты присутствуют в окне среды в R Studio, но html-файл не отображается, и я получаю сообщение об ошибке, которое останавливает цикл render()
, который я использую для обработки всехфайлы в определенной папке.Это процесс, который я делал много раз перед обновлением.
Я запустил traceback()
и получил следующие результаты:
8: stop("path for html_dependency not found: ", file, call. = FALSE)
7: FUN(X[[i]], ...)
6: lapply(dependencies, validate_html_dependency)
5: dependency_resolver(all_dependencies)
4: html_extras_for_document(knit_meta, runtime, dependency_resolver,
format_deps)
3: base(...)
2: output_format$pre_processor(yaml_front_matter, utf8_input, runtime,
knit_meta, files_dir, output_dir)
1: render("Processing and QA Template_INT_FINAL_MFAssignR.rmd",
output_file = paste0(substr(file_list[i], 1, nchar(file_list[i]) -
4), ".html"), output_dir = folder, params = list(data = file_list[i], path = folder))
Я несколько раз удалял и переустанавливал пакеты.Я даже полностью удалил папку с библиотекой, а затем переустановил.Мои пакеты обновлены, но у меня возникли проблемы с установкой пакетов с момента обновления, включая rmarkdown.Мне пришлось использовать install.packages(“package”, type=”binary”)
, чтобы установить зависимости для rmarkdown, чтобы заставить его установить.Обычно я могу просто использовать кнопку Install
в R Studio.
Это рабочий ПК (Windows 10, 64-битный), к которому у меня нет доступа администратора.Я должен удалить / установить с помощью ИТ в моем университете, что является проблемой, поэтому я хочу прийти к ним с планом.В моей библиотеке пакетов по умолчанию используется сетевой диск, на котором я могу читать / писать, и у меня ограниченный доступ к жестким дискам;В любом случае я не могу изменить место установки пакетов в R Studio.Я не знаю, могу ли я переустановить более старую версию R и R Studio или это поможет.Многие пакеты, которые я использую, разработаны для текущей версии R, и у меня были некоторые другие проблемы, поэтому я обновил их в первую очередь.Точно такие же сценарии и файлы данных работают правильно на другом ПК (мой личный ноутбук, который также актуален для R, R Studio и пакетов);единственные изменения, которые я сделал, - это рабочий каталог, поэтому данные загружаются правильно.У меня также не было проблем с установкой пакетов.
Вот пример моего кода;Поскольку мои сценарии очень длинные, сложные и специфичные для данных, я подготовил более упрощенную версию того, что они делают в качестве примера.Я действительно не думаю, что что-то не так с самими сценариями, как я упоминал ранее, я запускал их много раз перед обновлением.Я подозреваю, что что-то не так с установкой R, R studio или rmarkdown.
Основной сценарий, который вызывает render()
из rmarkdown:
setwd("D:/Working Directory")
library("rmarkdown")
folder=paste0(getwd(),"/")
file_list=list.files(path=folder, pattern="*_MF.csv")
for (i in 1:length(file_list)){
render("Processing and QA Template.rmd",
output_file = paste0(substr(file_list[i],1, nchar(file_list[i])-4),".html"), output_dir = folder,
params=list(data=file_list[i], path=folder))
}
rmarkdown с именем «Processing»и QA Template.rmd », который находится в« D: / Working Directory »:
---
title: "Example Processing and QA"
author: "Matt Brege "
date: "2018-12-12"
output: html_document
params:
data: x
path: x
---
```{r, echo=FALSE, message=FALSE}
library(dplyr)
library(ggplot2)
library(tidyr)
file_name <- substr(params$data, 1, nchar(params$data)-7)
folder <- params$path
input <- tbl_df(read.csv(paste0(file_name, "_MF.csv"), stringsAsFactors = FALSE))
```
```{r, echo=FALSE}
#...a series of long and complicated data manipulations later…
write.csv(input7, paste0("Output/", file_name, "_QAd.csv"), row.names=FALSE, na="")
```
```{r,r, echo=FALSE, warning=FALSE, message=FALSE}
#...plotting section…
# these are just examples
p1 <-ggplot(diamonds, aes(x=carat, y=price)) + geom_point()
print(p1)
p2<- ggplot(diamonds, aes(x=carat, y=price, color=clarity)) + geom_point()
print(p2)
p3<- ggplot(diamonds, aes(x=carat, y=price, color=cut)) + geom_point()
print(p3)
```
Наконец, я нашел следующие похожие посты о том, что кажется той же проблемой, но они старые и изразличные версии R, и, похоже, в любом случае это не было разрешено в этих случаях:
RMarkdown не может связать: html_dependency не найден
RNotebook не можетвывод из-за html_dependency не найден
R ищет неправильное место для html-зависимости
Одно из предложений по последней ссылке было очистить кеш: «Если вы кэшировали чанк, содержащий виджеты HTML, вам может потребоваться аннулировать кеш после обновления пакетов R.- Йихуэй Се 6 декабря '17 в 19:00 ”, но я не совсем уверен, что это значит или как это сделать.Обычно я запускаю cat("\014")
и rm(list=ls())
в начале каждого сценария, но я не знаю, означает ли это предложение, и оно не помогло.