R语言学习笔记_数据清理1

本文介绍了使用R语言进行数据清理的全过程,包括理解数据需求,从不同数据源导入数据(如文本文件、Excel),处理缺失值(NA、NaN等)和异常值,数据转换(如规范化、离散化),数据筛选,以及最终的数据导出。重点讲解了read.table、read.csv、mice、subset等关键函数的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导入数据之前
明确需求
理解数据
数据质量
导入数据
支持多种数据源
文本文件
read.table、read.csv、read.delim
scan
Excel文件
csv、prn格式+read.csv
剪贴板+read.delim
xlsx扩展包
rodbc包
数据清洗
缺失值处理
NA、NaN、Inf、-Inf
识别缺失数据
先把不合理值重编码为缺失值
is.na、complete.case
mice::pattern
VIM::aggr、VIM::matrixplot
处理缺失值
缺失值是否有业务含义
删除na.omit、行删除、配对删除
替换
异常值处理
数据转换
数据规范化:将数据按比例缩放,落入一个小的特定区间
极差化
标准化scale
小数定标规范化
改善分布的转换
取对数、平方、倒数、指数
数值变量离散化
ifelse()
ifelse的延伸
cut和Hmisc::cut2
数据筛选
随机采样
sample()
set.seed
按条件过滤
subset、which
SQL爱好者的福音
需要安装SQL包
install.packages(‘sqldf’)
library(sqldf)
变量筛选
选取有用变量
消除变量间的相关性
注:数据筛选和变量筛选也称为数据规约
导出数据
支持多种数据源
文本文件
write.table、write.csv

# 查看当前工作目录
> getwd()
[1] "C:/Users/Administrator/Documents"
# 修改当前工作目录
> setwd('G:/work/R')
> getwd()
[1] "G:/work/R"
# 读取数据示例
> x = read.table('G:/work/R/lastsave1.txt',header = F,sep = ',')
> x = read.csv('G:/work/R/lastsave1.txt',header = F)
> x = read.delim('G:/work/R/lastsave1.txt',header = F,sep = ',')
> x = read.delim('clipboard',header = F)

用scan读取的数据是一个列表,用as.data.frame转换成数据框
> x = scan('G:/work/R/lastsave1.txt',what = list(date = "",pv = 0,uv = 0),sep = ",")
> x = as.data.frame(x)

文件写入示例:
> write.table(x,'G:/work/R/lastsave2.txt',sep = ',',quote = F,col.names = T)

缺失值检查示例:
> (vx = c(1,3,NA,6,8))
[1]  1  3 NA  6  8
> (y1 = is.na(vx))
[1] FALSE FALSE  TRUE FALSE FALSE
> (y2 = complete.cases(vx))
[1]  TRUE  TRUE FALSE  TRUE  TRUE

is.na和complete.cases的差异:
> (mx = matrix(1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值