我有RStudio并想要导入时间序列数据集。 x轴上的列应该是年份,但是当我使用ts.plot命令时,它只是在x轴上绘制Time
。如何使数据集中的年份出现在我的情节中?
该数据集适用于1898年至1968年纽约市的用水情况。有两个栏目,即年份和用水量。
这是我使用的数据的链接(我已经加载了.TSV文件)
这些是导入我的数据的命令:
nyc <- read.csv("~/Desktop/annual-water-use-in-new-york-cit.tsv", sep="")
View(nyc)
ts.plot(nyc)
这就是我得到的:
答案 0 :(得分:0)
有几种方法可以做到这一点。我在本演示中使用了链接中的CSV文件。
library(tidyverse)
nyc <- read_csv("annual-water-use-in-new-york-cit.csv")
head(nyc)
# A tibble: 6 x 2
Year `Annual water use in New York city, litres per capita per day, 1898-1968`
<chr> <chr>
1 1898 402.8
2 1899 421.3
3 1900 431.2
4 1901 426.2
5 1902 425.5
6 1903 423.6
创建时间序列对象并绘制此时间序列。
首先,让我们修改年度用水的列名,以便在我们的代码中更容易调用。
nyc <- nyc %>%
rename(
water_use = `Annual water use in New York city, litres per capita per day, 1898-1968`
)
使用nyc.ts
函数制作时间序列对象ts()
。
nyc.ts <- ts(as.numeric(nyc$water_use), start = 1898)
然后,您可以使用通用plot
函数绘制时间序列。
plot(nyc.ts, xlab = "Years")
使用forecast::autoplot
功能。请注意,此功能建立在ggplot2
之上。
autoplot(nyc.ts) + xlab("Years") + ylab("Amount in Litres")
仅使用ggplot2
:
nyc$Year <- as.POSIXct(nyc$Year, format = "%Y")
nyc$water_use <- as.numeric(nyc$water_use)
ggplot(nyc, aes(x = Year, y = water_use)) + geom_line() + xlab("Years") + ylab("Amount in Litres")