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

问题描述

我对 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") 中的错误: 没有适用于“重新缩放”的方法应用于“因子”类的对象

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

这是我的数据集示例:

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))

enter image description here