ggplot 在一张图中画两行,错误代码?

ggplot two lines in one graph, error code?

我是 RStudio 的新手,尝试在一张图中绘制两条不同的线。 X 尺度应为年份,Y 尺度应为每公顷碳吨数。然后我想为两种不同的森林管理类型(BAUca 和 NATUREca)绘制两条线。在代码的前 4 行中,我将数据从因子更改为数字。

mydata[] <- lapply(mydata, function(x) {
  if(is.factor(x)) as.numeric(as.character(x)) else x
})
sapply(mydata, class)

ggplot(mydata, aes(x=Year, y=BAUca, group=1))+
  geom_line()+
  geom_line(y=NATUREca)

我收到以下错误代码: UseMethod("rescale") 错误: 没有适用于 'rescale' 的方法应用于 class“因素”

的对象

正如我所说,我已经将我的数据更改为数字。所以我想知道为什么它仍然给我这种错误。

这是我的数据集的示例:

Year    BAUca   NATUREca
2020    80.31   80.31
2025    83.43   92.76
2030    83.73   102.56
2035    84.76   112.72
2040    84.65   121.83
2045    84.84   131.38
2050    86.18   141.33

如果有人对此错误有解决方案,我们将非常高兴。 问候, 弗雷德里克

您忘记将 y 放入 aesthetic:

mydata <- data.frame(
  Year = c(2020, 2025, 2030, 2035, 2040, 2045, 2050),
  BAUca = c(80.31, 83.43, 83.73, 84.76, 84.65, 84.84, 86.18),
  NATUREca = c(80.31, 92.76, 102.56, 112.72, 121.83, 131.38, 141.33)
)

ggplot(mydata, aes(x=Year, y=BAUca, group=1))+
  geom_line()+
  geom_line(aes(y=NATUREca))