RMarkdown "Неравные уровни факторов: принуждение к персонажу ... привязка символа и вектора факторов" - PullRequest
0 голосов
/ 05 мая 2020

У меня есть три фрейма данных: df1, df2 и df3. У каждого из них есть столбцы date, A, B, C. Я убедился, что все столбцы даты в каждом из фреймов данных были одного класса (Date), все столбцы A в каждом из фреймов данных были одного класса (фактора), а классы двух других были целыми числами. Я использовал ungroup(), чтобы избавиться от любой группировки, которую я использовал в фреймах данных.

Итак, фреймы данных выглядят примерно так:

-    Date    |   A   | B | C
1 2020-01-01 | House | 1 | 2
2 2020-01-02 | House | 3 | 4
3 2020-01-03 | House | 5 | 6

-    Date    |   A   | B | C
1 2020-01-01 | Field | 1 | 2
2 2020-01-02 | Field | 3 | 4
3 2020-01-03 | Field | 5 | 6

-    Date    |   A   | B | C
1 2020-01-01 | Store | 1 | 2
2 2020-01-02 | Store | 3 | 4
3 2020-01-03 | Store | 5 | 6

Затем я попытался использовать new_df <- bind_rows(df1, df2, df3), чтобы добавить их в единый фрейм данных (new_df). Ошибок нет. Я использовал new_df$A <– as.factor(new_df$C=A), чтобы убедиться, что A действительно является фактором.

new_df выглядит примерно так:

-    Date    |   A   | B | C
1 2020-01-01 | House | 1 | 2
2 2020-01-02 | House | 3 | 4
3 2020-01-03 | House | 5 | 6
4 2020-01-01 | Field | 1 | 2
5 2020-01-02 | Field | 3 | 4
6 2020-01-03 | Field | 5 | 6
7 2020-01-01 | Store | 1 | 2
8 2020-01-02 | Store | 3 | 4
9 2020-01-03 | Store | 5 | 6

Затем я сделал ggplot с graph <– ggplot(data = new_df, aes(x = B, y = C, group = A) + geom_line() + transition_reveal(date). Ошибок нет. Я проверил данные графика, и данные были типа double (S3: Date), factor, integer и integer (как и ожидалось).

Когда я go печатал график с animate(graph, renderer=gifski_renderer("graph.gif") by при нажатии кнопки «запустить текущий фрагмент» график распечатывается нормально, и я могу открыть файл gif.

Однако, когда я нажимаю Knit с выводом в pdf_document, появляется следующая ошибка:

Error: Unsupported device In addition: Warning messages:
1: In bind_rows_(x, .id) : Unequal factor levels: coercing to character
2: In bind_rows_(x, .id) : binding character and factor vector, coercing into character vector
3: In bind_rows_(x, .id) : binding character and factor vector, coercing into character vector
4: In bind_rows_(x, .id) : binding character and factor vector, coercing into character vector Execution halted.

Ошибка прослеживается до строки, где я использовал функцию animate().

Я не уверен, в чем проблема, потому что я не могу определить, где находятся неравные факторы, но это не давая мне получить желаемый результат.

Есть мысли?

...