基于R语言tidyverse包的数据分析实践

目录

1.tidyverse包基础

1.0 下载使用tidyverse

1.1 数据清洗

1.1.1 提取数据

1.1.2 数据整理与采样

1.1.3 缺省值处理

1.1.4 重复值处理

1.1.5 异常值处理

1.2 数据预处理

1.2.1 数据标准化

1.2.2 数据编码

 

 

1.tidyverse包基础

1.0 下载使用tidyverse

tidyverse包有很多依赖,大概率在安装的时候,会报错如:

 

这时不要惊慌,那是因为你没有安装libcurl4-openssl-dev,openssl这些软件,在系统里安装这些软件就好了,比如在ubuntu系统,执行以下命令

apt-get install libcurl4-openssl-dev openssl

 

1.1 数据清洗

1.1.1 提取数据

  • 读取数据文件

 

#data为tibble数据类型 
data <- read_csv( filepath, col_types=cols() )

1.1.2 数据整理与采样

根据业务需求和目标,整理出有用的数据。

  • 选取列子集

选取name ,age列

select(data,name,age,sex)
  • 选取行子集
filter(data,age>=15,sex=='F) head(data,n=10) tail(data,n=10) slice(data,1:10)
  • 随机抽样
sample_n(data,size = 10) #无放回 sample_n(data,size= 10,replace=TRUE) #有放回 sample_n(data,size=10,weight = 1/height) #让height越小的人越容易抽样抽取到,不等概率抽样

1.1.3 缺省值处理

  • 去除任意列数据中含有na的行数据(去除所有包含NA的行)
drop_na(data)
  • 去除某些列为na的行数据
drop_na(data,age,sex)

1.1.4 重复值处理

  • 去重
distinct() # 去除完全相同的行,只保留一行 distinct(name,sex,weight) #去除在三列数据上完全一致的行,只保留一行

1.1.5 异常值处理

  • 求极值
arrange(data,age,desc(height)) # age升序后,再对height降序
  • 衍生变量去除异常值
# 计算BMI值 data%>% mute( height_cm = round(height*2.54), weight_kg = round(weight*0.4535924), bmi = weight_kg / (height_cm / 100)^2) )

1.2 数据预处理

1.2.1数据标准化

data%>% select(height,weight)%>% scale() #默认标准化为均值为0方差为1的分布 scale(center=apply(.,2,min),scale=apply(.,2,max)-apply(.,2,min))) #放缩至0-1

1.2.2 数据编码

data['sex'] = ifelse(data['sex']=='F',0,1) # F 编码为0,M编码为1

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值