Почему кусок кода 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), используемая в предыдущем фрагменте. Мысль, которая была решена кешем = ЛОЖЬ

0 ответов

Другие вопросы по тегам