这很难从您发布的数据中辨别出来,但无论如何我都会试一试。您在绘制时间序列数据时遇到的最大问题是您的数据是宽格式,而不是长格式。如果你把它转换成long,它会容易得多。我使用tidyr 包编写了一个快速示例,以及一些符合我认为您的数据结构看起来的随机样本数据(尽管在未来,格式化在问题上会有很长的路要走。)逐步完成示例,看看这样的事情是否适合您的问题。
set.seed(100)
df <- data.frame(States = c('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'),
X2010 = runif(10),
X2011 = runif(10),
X2012 = runif(10),
X2013 = runif(10),
X2014 = runif(10),
X2015 = runif(10),
X2016 = runif(10))
library('tidyr')
library('ggplot2')
library('stringr')
df <- gather(df, year, value, X2010:X2016)
df$year <- str_replace_all(df$year, 'X', '')
df$year <- as.numeric(df$year)
ggplot(df, aes(x = year, y = value, group = States, color = States)) + geom_line()
将宽数据收集为长格式后,您将拥有每个州和年份的唯一行。同样,我不能确定这是否是您的数据的样子,但鉴于您的标题,我相当肯定重塑您的数据将大大有助于绘制时间序列。如果这不起作用,请务必将您的问题编辑得更具体,并包含更好的示例数据格式。