geom(line) 中的 R 错误:美学必须是长度 1 或与数据相同 (2296) ✖ 修复以下映射:`y

问题描述 投票:0回答:1

我的代码 对于大学课程,我必须绘制截至 2019 年和截至 2020 年的推断超额死亡率。但是,在运行我的代码时,它一直说我有一个 aes 错误:

geom_line()
中的错误: !计算美学时出现问题。 ℹ 第一层发生错误。 由
check_aesthetics()
中的错误引起: !美观度必须为长度 1 或与数据相同 (2296) ✖ 修复以下映射:
y

我该如何解决这个问题,我已经尝试了https://www.statology.org/aesthetics-must-be-either-length-1-or-same-as-data/上显示的解决方案,但没有任何运气

如有任何帮助,我们将不胜感激! 我的代码:

ggplot(data=preds[preds$YEAR<=2019,], aes(x=as.numeric(as.character(WEEK)), y=1E7*preds$excess_deaths/POPULATION), colour = factor(YEAR)) +
  geom_line(aes(y=1E7*preds$excess_deaths/POPULATION, colour = NA)) +
  geom_ribbon(data=preds[preds$YEAR<=2019,], aes(ymin=1E7*preds$lower.CI/POPULATION, ymax=1E7*preds$upper.CI/POPULATION), colour=NA, alpha=I(0.4)) + 
  geom_ribbon(aes(ymin=1E7*preds$excess_deaths.lower.PI/POPULATION, ymax=1E7*preds$excess_deaths.upper.PI/POPULATION), colour=NA, alpha=I(0.2)) + 
  geom_line(data=preds[preds$YEAR>=2020,], aes(y=1E7*preds$excess_deaths/POPULATION, colour = NA)) +
  geom_ribbon(data=preds[preds$YEAR>=2020,], 
              aes(ymin=1E7*preds$excess_deaths.lower.CI/POPULATION, ymax=1E7*preds$excess_deaths.upper.CI/POPULATION), colour=NA, alpha=I(0.4)) + 
  geom_ribbon(data=preds[preds$YEAR>=2020,], 
              aes(ymin=1E7*preds$excess_deaths.lower.PI/POPULATION, ymax=1E7*preds$excess_deaths.upper.PI/POPULATION), colour=NA, alpha=I(0.2)) + 
  facet_wrap(~ model, ncol = 1) +
  xlab("Date") +
  ylab("Excess mortality (Per 10M inhabitants") +
  ggtitle(label = 'EXCESS MORTALITY IN BELGIUM PER WEEK (PER 10M INHABITANTS)', subtitle = 'Data Statbel 2009-2022') +
  theme_economist_white()

尝试根据多个站点更改 aes 的颜色和填充功能,但没有任何运气。预计每年的颜色都会相似。运行时我收到此错误:Error in

geom_line()
: !计算美学时出现问题。 ℹ 第一层发生错误。 由
check_aesthetics()
中的错误引起: !美观度必须为长度 1 或与数据相同 (2296) ✖ 修复以下映射:
y

r ggplot2 plot aesthetics
1个回答
0
投票

我有一个几乎类似的问题,我的问题是我在引用要用于使颜色不同的列时犯了错误。 我用的是

colour = group
而不是
color = Group

就您而言,

colour = factor(YEAR)
很可能是罪魁祸首。

我希望这对某人有帮助

© www.soinside.com 2019 - 2024. All rights reserved.