# Data visualization
# Time series
# install ggplot2
library('ggplot2')
attach(economics)
mydata <- economics
ggplot(data = mydata, mapping = aes(x=date, y=psavert)) +
geom_line() +
labs(title = 'Personal saving rate',
x = 'Year',
y = 'personal saving rate')
A <- c(1:5)
# ggplot() specifis the
# dataframe contains the data to be plotted
# the mapping of the variables to visual properties of the graph (aes())
# geoms are the geometrics objects (points, lines, bar, etc)
ggplot(data = mydata, mapping = aes(x=date, y=psavert)) +
geom_point() +
labs(title = 'Personal saving rate',
x = 'Year',
y = 'personal saving rate') +
theme_minimal()
# Change color, line type, and so on
ggplot(data = mydata, mapping = aes(x=date, y=psavert)) +
geom_point(color = 'red', shape = 1, size = 1) +
geom_line(color = 'darkblue', linetype = 'dashed', size = 0.5)+
labs(title = 'figure of personal saving rate',
x = 'Year',
y = 'personal saving rate') +
theme_minimal()
# Multiples lines in the same graph
ggplot(data = mydata) +
geom_line(mapping = aes(x=date, y=psavert), color = 'red')+
geom_line(mapping = aes(x=date, y=uempmed), color = 'blue')+
labs(title = 'figure',
x = 'Year',
y = '') +
theme_minimal()
# add a legend
cols <- c('psavert'='red', 'uempmed'='blue')
ggplot(data = mydata) +
geom_line(mapping = aes(x=date, y=psavert, color = 'psavert'))+
geom_line(mapping = aes(x=date, y=uempmed, color = 'uempmed'))+
labs(title = 'figure',
x = 'Year',
y = '') +
scale_color_manual(name='variables', values=cols) +
theme_minimal()
# Laying out multiple graphs on one page
# install 'gridExtra' package
P1 <- ggplot(data = mydata) +
geom_line(mapping = aes(x=date, y=psavert))+
labs(title = 'Personal saving rate', x = 'Year', y = '') +
theme_minimal()
P2 <- ggplot(data = mydata) +
geom_line(mapping = aes(x=date, y=uempmed))+
labs(title = 'unemployment rate', x = 'Year', y = '') +
theme_minimal()
library('gridExtra')
grid.arrange(P1, P1, P2, P2, ncol=1)
# Aggregate data by date
mydata$year <- NA
mydata$year <- format(mydata$date, '%Y')
mydata_annual <- aggregate(.~year,
mydata[c('pce','pop','psavert','year')], mean,
na.rm=TRUE)
# convert the column of year to data
mydata_annual$year <- as.Date(mydata_annual$year, '%Y')
P1 <- ggplot(data = mydata) +
geom_line(mapping = aes(x=date, y=psavert))+
labs(title = 'monthly personal saving rate', x = 'Date', y = '') +
theme_minimal()
P2 <- ggplot(data = mydata_annual) +
geom_line(mapping = aes(x=year, y=psavert))+
labs(title = 'annually personal saving rate', x = 'Year', y = '') +
theme_minimal()
grid.arrange(P1, P2, ncol=1)
R语言上课代码记录6
最新推荐文章于 2024-08-23 13:46:43 发布
这篇博客展示了如何利用R语言的ggplot2库创建数据可视化图表,特别是针对时间序列数据。作者首先展示了绘制个人储蓄率随时间变化的折线图,然后通过改变颜色、形状和线条样式来定制图表。接着,将两个时间序列(个人储蓄率和失业率)在同一图表中展示,并添加了图例。最后,作者探讨了如何按年聚合数据并对比月度与年度个人储蓄率。此外,还学习了如何在一页上排列多个图表。
摘要由CSDN通过智能技术生成