R语言上课代码记录6

这篇博客展示了如何利用R语言的ggplot2库创建数据可视化图表,特别是针对时间序列数据。作者首先展示了绘制个人储蓄率随时间变化的折线图,然后通过改变颜色、形状和线条样式来定制图表。接着,将两个时间序列(个人储蓄率和失业率)在同一图表中展示,并添加了图例。最后,作者探讨了如何按年聚合数据并对比月度与年度个人储蓄率。此外,还学习了如何在一页上排列多个图表。
摘要由CSDN通过智能技术生成
# 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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值