长型宽型数据转换

Reads: 2018 Edit

1 导入数据

复制EconomicData数据中Sheet2的前三列数据,该数据属于长型数据。

r-51

导入到R:

> longdata=read.table("clipboard",header = TRUE)
> View(longdata)

r-52

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)

r-53

r-54

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)

r-55

r-56



获取案例数据,请关注微信公众号并回复:R_dt3


Comments

Make a comment