Почему кусок кода R не работает во время Knit в Rmarkdown
Когда документ Knitting и Rmarkdown (R Studio) содержит фрагменты кода R, фрагмент возвращается
line 192 Error in stats::hclust(dd, method=hc.method) :
must have n>= 2 objects to cluster Calls: <Anonymous> ... eval -> ggcorrplot -> .hc_cormat_order -> <Anonymous>
Тот же фрагмент кода работает нормально при запуске в R (R Studio) и выполняется изнутри уценки. Это происходит только во время вязания!
Не внесено никаких существенных изменений, код в чанке является копированием / вставкой из R-файла. добавленной cache=FALSE
а также echo=FALSE
, Не помогло Поместил каждую строку в отдельный кусок. Это показало ошибку не быть на library (dplyr)
линия, но на самом деле ggcorrplot
линия
library(dplyr)
dfNed_2b <- dfNed_2a %>% dplyr:: select(grep("GDP", names(dfNed_2a)), grep("GDY", names(dfNed_2a)), grep("GNP", names(dfNed_2a)))
dfNed_2b[is.na(dfNed_2b)] <- 0
corrNed_2b <- round(cor(dfNed_2b), 4)
library(ggcorrplot)
ggcorrplot(corrNed_2b, hc.order = TRUE,
type = "lower",
lab = TRUE,
lab_size = 2,
method="circle",
tl.cex=7,
colors = c("orangered1", "white", "darkolivegreen1"),
title="Correlogram GDP, GDY en GNP indicatoren",
ggtheme=theme_minimal)
Из кода R я получаю отличную коррелограмму. Вязка в Rmd возвращает:
line 192 Error in stats::hclust(dd, method=hc.method) :
must have n>= 2 objects to cluster Calls: <Anonymous> ... eval -> ggcorrplot -> .hc_cormat_order -> <Anonymous>
Ошибка, кажется, ссылается на первую строку в чанке, в то время как фактическая ошибка находится на ggcorrplot
Линия (ы)
================================================== Ошибка по-прежнему сохраняется. Изменено значение Rmd для использования только внешних R-сценариев. Rmd:
### Корреляционный график по ВВП, GDY и ВНП{r cache=FALSE}
knitr::read_chunk('6e_corr_dfNed_2b.R')
```{r 6e_corr_dfNed_2b}
```
R: ## ---- 6e_corr_dfNed_2b библиотека (dplyr) dfNed_2c <- dfNed_2b%>% dplyr:: select (grep ("GDP", имена (dfNed_2b)), grep("GDY", имена (dfNed_2b)), grep ("ВНП", имена (dfNed_2b))) dfNed_2c[is.na(dfNed_2c)]<- 0 head (dfNed_2c, 2) библиотека (ggplot2) библиотека (масштабирование) библиотека (ggcorrplot) corrNed_2c <- round (cor (dfNed_2c), 4) ggcorrplot (corrNed_2c, hc.order = TRUE, type = "lower", lab = TRUE, lab_size = 2, method = "circle", tl.cex = 7, colors = c ("orangered1", "white", "darkolivegreen1"), title = "Коррелограмма ВВП, GDY и ВНП, показатель", ggtheme = theme_minimal)
Единственное, о чем я могу думать, это то, что Knitr нравится библиотека (dplyr), используемая в предыдущем фрагменте. Мысль, которая была решена кешем = ЛОЖЬ