数据管理与探索 (R)

数据获取

1. 从文件中获取

1) csv格式

read.csv()

read.table()

# readr包

read_csv()

2) Excel

read_excel()

3) spss

read.spss() # foreign包

read_sav() # haven包

4) sas

read_sas()

5) Stata

# haven包

read_dta()

read_stata()

6) MATLAB

# R.matlab包

readMat()

2. 网络爬虫

1) 从网页中获取链接和表格

# XML包

readHTMLTable()

# 注意将https格式的网页链接调整为http

fileURL = "link"

fileURL_new = sub("https", "http", fileURL)

2) 从网页中获取文本

# rvest包

read_html()

html_nodes() 定位

html_text() 获取文本

缺失值处理

1. 缺失值的判别

1) summary()

2) 可视化:VIM包

aggr(): 查看数据缺失值分布

!complete.cases():缺失值输出

matrixplot(): 热力图可视化

is.na() 查看数据缺失值的位置

2. 缺失值的简单处理

2.1 剔除带有缺失值的样本

1) na.omit() 函数

2.2 填补缺失值

计算剔除缺失值后的平均值、中位数等

na.rm = T

1) 平均值:mean()

2) 中位数:median()

3) 众数

table()

Hmisc包,impute() 函数

4) zoo包:na.locf() 使用缺失值的前面或后面的数值填补缺失值

3. 处理缺失值的复杂方法

1) K-近邻填补缺失值

DMwR包

knnImputation()

2) 随机森林填补缺失值

missForest包

missForest()

3) 缺失值的多重插补(重复模拟,蒙特卡洛方法填补)

数据操作

1. 长宽型数据转换

1) tidy包

宽型数据转化为长型数据:gather() 函数

长型数据转化为宽型数据:spread() 函数

2) reshape2包

宽型数据转化为长型数据:melt() 函数

a = melt(data, id = c("Id","Species"), variable.name = "varname", value.name = "value")

参数:id,原始数据中该变量保持不变。

长型数据转化为宽型数据:dcast() 函数

b = dcast(data, Id+Species~varname)

转换时忽略~前的变量

2. 数据分类汇总

1) dplyr包

group_by() 函数

3. 数据属性转换

1) 数据中心化:变量减去它的平均值

scale(data, center = T, scale = F)

2) 数据标准化:变量减去它的平均值然后除以它的标准差

scale(data, center = T, scale = T)

3) min-max标准化(0-1标准化):变量减去它的最小值然后除以它的最大值和最小值的差

4. 数据切分

1) 通过随机数进行切分

2) 使用 carte包按比例切分数据

createDtaPartition(data$var, p=0.7)  #70%训练数据集,30%测试数据集

3) K折交叉验证进行随机切分

createFolds(data$var, k=3) 数据均分为3粉的索引

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值