Вывод for -l oop в R в неправильном порядке в RMarkdown - PullRequest
0 голосов
/ 02 марта 2020

Я хочу напечатать один график для каждого столбца в df в for-l oop. Я делаю что-то вроде этого:

for (i in colnames(df)){
  p <- ggplot(...) # my ggplot call
  print(p)
}

Это нормально работает в обычном скрипте .R, но при уценке графики выводятся в неправильном порядке (ie. Не в том же порядке, как в colnames(df)). Есть предположения, почему это происходит? Спасибо.

1 Ответ

2 голосов
/ 02 марта 2020

Только что проверил на простой уценке, используя mtcars:

---
title: "Test"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r}
require(ggplot2)

for (i in colnames(mtcars)) {
  print(i)
  (p <- ggplot(mtcars, aes(!!rlang::sym(i))) +
    geom_bar())
}
```

Дает мне гистограммы всех столбцов в mtcars в правильном порядке:

##[1] "mpg"
##[1] "cyl"
##[1] "disp"
##[1] "hp"
##[1] "drat"
##[1] "wt"
##[1] "qsec"
##[1] "vs"
##[1] "am"
##[1] "gear"
##[1] "carb"

Может быть, вы мог бы предоставить минимальный пример ваших данных.

...