1 导入数据
复制EconomicData数据中Sheet2的前三列数据,该数据属于长型数据。
导入到R:
> longdata=read.table("clipboard",header = TRUE)
> View(longdata)
2 使用tidyr包对长型宽型数据进行转换
2.1 安装并加载tidyr包
> install.packages("tidyr")
> library(tidyr)
2.2 长型转宽型
转换为宽型数据,可以以年份或者地区两种方式展开。
> widedata1=spread(longdata,year,pgdp)
> widedata2=spread(longdata,prov,pgdp)
> View(widedata1)
> View(widedata2)
2.3 宽型转长型
将两种宽型数据转换为长型数据。
> longdata1=gather(widedata1,"2011","2012","2013","2014","2015","2016","2017","2018",key="year",value = "pgdp")
> longdata2=gather(widedata2,"安徽","北京","福建","甘肃","广东","广西","贵州","海南","河北","河南","黑龙江","湖北","湖南","吉林","江苏","江西","辽宁","内蒙古","宁夏","青海","山东","山西","陕西","上海","四川","天津","新疆","云南","浙江","重庆",key="prov",value = "pgdp")
> View(longdata1)
> View(longdata2)