R语言数据格式 长数据 和 宽数据 之间的转换
2017-11-30 20:50
786 查看
R语言数据格式 长数据 和 宽数据 之间的转换
1.什么是长数据?
2.什么是宽数据?
3.为什么需要转换?
4.转换的方法
1)需要用到的R包 2)函数介绍
什么是长数据?
长数据一般是指数据集中的变量没有做明确的细分,即变量中至少有一个变量中的元素存在值严重重复循环的情况(可以归为几类),表格整体的形状为长方形,即 变量少而观察值多。例如:
什么是宽数据?
宽数据是指数据集对所有的变量进行了明确的细分,各变量的值不存在重复循环的情况也无法归类。数据总体的表现为 变量多而观察值少。
3.为什么需要转换?
长数据与宽数据之间的转换通常为以下两个原因:
时间序列数据想要观察多个种类的变量在一段时间内的变化,如上例,宽数据格式无法利用ggplot做出图形。
当数据清洗完成后,导入某些软件时,例如导入SPSS软件时宽数据格式会更好。
4.转换的方法
使用到的包
函数的使用方法
library(tidyr)# 使用的gather & spread library(reshape2) # 使用的函数 melt & dcast
#使用gather函数将宽数据gd1转换为长数据gd1_long gd1_long<-gather(gd1,year,gdp,X2015年:X2006年) #使用melt 函数将宽数据gd1转换为长数据gd1_long1 gd1_long1<-melt(gd1, id.vars = c('地区'),#需要保留不参与聚合的变量, measure.vars = c('X2015年','X2006年')#用于聚合的变量, variable.name='year', value.name='gdp') #ps: id_vars和 measure.vars只需要制定一个即可;另外一个默认是除指定的变量外的所有变量. #使用spread函数将gd1_long长数据转换为宽数据gd1_wide gd1_wide<-spread(gd1_long,year,gdp) #year为需要分解的变量,gdp为分解后的列的取值 #使用dcast函数将gd1_long长数据转换为宽数据gd1_wide1 gd1_wide1<-dcast(gd1_long1,地区~gd1_long1$year,value.var = 'gdp')
相关文章推荐
- .mat,.txt,.csv 数据转换为weka中的arff格式及matlab和Weka之间相互转换格式
- JAVA基本数据类型与其他语言数据类型之间的转换方法
- 数据格式之间与类型之间的转换方法
- json数据格式和object对象之间相互转换
- 关于Java语言的eclipse读取数据库,并将数据转换成JSON格式输出
- java语言基础(59)——jdk5自动装箱和拆箱(基本数据类型与包装类之间的转换)
- 第二章 JAVA语言基本语法————数据类型之间的转换
- 关于Web项目里的给表单验证控件添加结束时间不得小于开始时间的验证方法,日期转换和前台显示格式之间,还有JSON取日期数据格式转换成标准日期格式的问题
- Weka中数据挖掘与机器学习系列之数据格式ARFF和CSV文件格式之间的转换(五)
- JAVA基本数据类型与其他语言数据类型之间的转换方法
- #pragma mark data转换成String nsstring 与 nsstring不同格式之间的转换 date(需要转换的数据NSStringOrNSDate均可) type(原来的格式
- 使用Java 语言可以方便的把任意对象转换成json格式的数据
- json的作用:按规定格式保存js语言中的一组数据并转换为字符串(json是种特殊的容器,一般保存对象和数组数据(可以嵌套),并把它们装换为字符串在网络中传输?))
- GO语言的一些简单数据类型之间相互转换
- 数据预处理--数据格式csv、arff等之间的转换
- ArcGIS教程:MapGIS向ArcGIS数据格式转换方法
- R语言数据类型转换 List Vector Dataframe
- 网络编程中数据格式的转换
- 黑马程序员之WinForm编程基础学习笔记:用户在文本框1,2中输入两个数,点击按钮,在文本框3中显示从文本框1中的数字到文本框2中的数字之间的累加和。如果1或者2为错误的数据格式,则弹出对话框提示错
- 详解 Java中日期数据类型的处理之格式转换的实例