目录
1 readr读取数据
2 读取EXCEL数据
3 读取SPSS\SAS\STATA数据
4 缺失值的识别与处理
4.1 缺失值
4.2 异常值
4.3 dlookr数据处理包
5 数据相关性
1 readr读取数据
install.packages("readr")
readr包中主要函数
函数名 | 读取格式 |
read_csv() | 导入逗号分割的文件 |
read_csv2() | 导入以分号为分隔符的.csv文件 |
read_delim() | 通过delim参数指定分隔符 |
read_tsv() | 制表符为分隔符 |
read_table() | 空格为分隔符的文件 |
#注: 可以使用system.time()函数来测试时间
2 读取EXCEL数据
install.packages("readxl")
- read_excel()
- read_xls()
- read_xlsx()
默认读取的是第一个sheet,可以进行指定:
read_excel(data,sheet="123")
3 读取SPSS\SAS\STATA数据
在R语言中使用haven包读取其他统计软件的数据
- read_sas()——读取SAS数据
- read_sav()——读取SPSS数据
- read_dta()——读取STATA数据
使用write_sas()\write_sav()\write_dta()进行转化,括号里第一个参数是数据集,第二个是路径:path="123.xxx"
数据探索是数据分析项目中非常重要的步骤,用于对数据进行全面了解,进而从数据中发现有价值的信息。数据探索的内容包括数据的清洗、缺失值的识别与转换,极端值的识别与处理、数据的分布、数据之间的关系分析。
4 缺失值的识别与处理
R语言提供了很多缺失值工具,如下:
- VIM: 可以可视化
- naniar:更加高校
- missMDA: 多变量缺失值处理办法
- Amelia: bootstrap+EM算法处理缺失值
- mice: 有回归树、随机森林、逻辑回归等算法填补缺失值
- missForest: 随机森林填补缺失值
4.1 缺失值
在R中,缺失值以NA形式出现,可用is.na进行判断,但是如果数据量太大,就不太好找了(不缺失为FALSE,缺失为TRUE)
- 使用VIM的aggr()函数可以进行可视化展示
- 使用na.omit()可以删除缺失数据及其所在行
- 使用naniar包中的impute_mean_all()或者impute_median_all()函数进行填补
- 使用KNN()函数进行填补
- 使用regressionImp()进行填补,函数左为回归模型参数,~左边是需要填补的特征,右边是用于建立回归模型的特征,缺失值较多则使用robust回归。
- 使用mice包中地方mice()函数进行随机森林填补
- 使用missMDA包的estim_ncpPCA()函数进行缺失值处理(主成分分析)
4.2 异常值
异常值的定义无须赘述,主要的识别方法是通过绘图,即数据出图后识别异常值。
- 使用boxplot_stats()进行识别单变量异常值
- 使用lm()构建回归模型,用cooks.distance()计算cook距离,该距离大于平均值的4倍则可归为异常值
4.3 dlookr数据处理包
根据介绍,是一个很强大的数据处理包。
诊断函数:
- diagnose() 提供变量的基本诊断信息
- dignose_category() 提供分类变量的诊断信息
- dignose_numeric() 提供数值变量的诊断信息
- dignose_outlier() 和plot_outlier() 提供异常值的诊断与可视化
- dignose_report() 生成诊断报告
例如 创建诊断报告: diagnose_report(data, output_format="html)
数据处理函数:
- find_na() 寻找缺失值
- find_outliers() 寻找异常值
- summary.imputation() 填补情况的统计
- transform() 数据转换
- binning bining_by() 数据分箱
- find_skewness() 寻找有偏变量
- transformation_report() 用于生成数据处理报告
详细的使用在此不进行一一列举,可使用help函数进行查询。
5 数据相关性
本书关于相关性分析并没有详细的阐述,在此简单列举内容。
- 使用cor()函数计算相关性
- 使用cor.test()函数进行相关系数的检验
- 使用corrplot函数绘制相关系数的图
- 使用chart.Correlation绘制相关系数直方图