如何使用 ggplot 在 R 中仅绘制选定数量的行

How to plot only a selected number of rows in R using ggplot

我试图从第一列和第三列的数据框中仅绘制 260 行中的前 220 行。

这是数据框的“切片”。我试图不在 ggplot2 代码中包含“平均”、“Pre.Covid”和“更改”行。

structure(list(Date = c("01-2019", "01-2019", "01-2019", "01-2019", 
                    "01-2019", "Average", "Pre.Covid","Change"),
          Region = c("South East", "South West", "London", "East of England", 
          "East Midlands", "West Midlands", "Yorkshire and The Humber", 
          "North West"),
          Unemployment.rate = c("3.13", "2.916523", "4.210277", 
                     "3.194942", "4.682473", "5.070812", "5.231136", "3.607693")), 
      row.names = c(NA, -260L), 
      class = c("tbl_df", "tbl", "data.frame"))

我尝试使用下面的代码,

ggplot(df, aes(df[1:220,1], df[1:220,3], color = Region, group = Region)) +
            geom_line() +
            labs(x = "Date", y = "Unemployment rate (%)")

但是,我收到以下错误消息:

不知道如何为 tbl_df/tbl/data.frame 类型的对象自动选取比例。默认为连续。

不知道如何为 tbl_df/tbl/data.frame 类型的对象自动选取比例。默认为连续。(是的,两次)

is.finite(x) 中的错误:类型 'list'

未实现默认方法

知道如何解决这个问题吗? 另外,如果有人可以让我知道如何将这些数值更改为带 2 位小数的百分比,那就太好了。

在此先感谢您提供的任何帮助!

您可以在不更改 aes.

的情况下在绘图之前对数据帧进行子集化
library(ggplot2)

ggplot(df[1:220, ], 
       aes(Date, Unemployment.rate, color = Region, group = Region)) +
  geom_line() +
  labs(x = "Date", y = "Unemployment rate (%)")