一定要先了解缺失机制,即为什么会产生缺失值。
对于随机产生的缺失值,可以删除,删除的对象分为两类,变量的删除,以及观测值的删除。当某一变量的缺失值比例很高的时候,可以直接删除,也可以用哑变量进行标志。
但缺失值的产生不是随机的,要根据它产生原因用不同的方法填补;
主要介绍三个包的常用于填补缺失值的函数。
思路一般是要定位缺失值以及查看缺失值的数量:
is.na()
sum(is.na())
md.pattern() mice包
computemissings包
填充:na.fill()
填充,是一个比较有意思的操作,你的原始数据有可能会有缺失值NA,在做各种计算时,就会出现有问题。一种方法是,你把NA值都去掉;另外一种方法是,你把NA值进行填充后再计算。那么在填充值时,就有一些讲究了。
把NA值进行填充。
# 生成数据框
> df<-data.frame(a=c(1,NA,NA,2,NA),
+ b=c('B','A','B','B',NA),
+ c=c(rnorm(2),NA,NA,NA));df
a b c
1 1 B 0.2670988
2 NA A -0.5425200
3 NA B NA
4 2 B NA
5 NA <NA> NA
# 把数据框a列的NA,用9进行填充
> na.fill(df$a,9)
[1] 1 9 9 2 9
# 把数据框中的NA,用1进行填充
一定要先了解缺失机制,即为什么会产生缺失值。对于随机产生的缺失值,可以删除,删除的对象分为两类,变量的删除,以及观测值的删除。当某一变量的缺失值比例很高的时候,可以直接删除,也可以用哑变量进行标志。但缺失值的产生不是随机的,要根据它产生原因用不同的方法填补;主要介绍三个包的常用于填补缺失值的函数。思路一般是要定位缺失值以及查看缺失值的数量:is.na()sum(is.na(...
R语言
处理缺失值
在处理数据过程中,避免不了会产生一些缺失值,如未填写数据或者编码错误等原因,用
NA
表示缺失值。在
R语言
中,is.
na
()函数可以判断元素是否是缺失值,从而返回逻辑值(TRUE/FALSE),所以该函数将会返回和元数据集一样大小的数据集。在判断缺失值的过程中,需要注意以下两点:
一是缺失值是不可以比较的,即不可以用缺失值去寻找缺失值,如var ==
NA
返回的结果永远不会是true。
二是
R语言
中不会将正无穷和负无穷写成
NA
,分别用 Inf 和 –Inf 所标记。
既然缺失值可能无处不在,那么在数据分析过程中可以采取如下的方法去除缺失值:
一是很多数值函数都拥有一个
na
.rm
R语言
处理缺失数据的5个常用包1.常用缺失数据处理包2. MICE 包2.1基本介绍2.2 实例展示3.Amelia包3.1基本介绍3.2实例展示4.missForest包4.1基本介绍4.2实例展示5.Hmisc包5.1基本介绍5.2实例展示6.mi包6.1基本介绍6.2实例展示
1.常用缺失数据处理包
1.MICE
2.Amelia
3.missForest
4.Hmisc
2. MICE 包
2.1基本介绍
MICE (Multivariate Imputation via Chained
本人正在学习
R语言
,想利用这个平台记录自己一些自己的学习情况,方便以后查找,也想分享出来提供一些资料给同样学习
R语言
的同学们。(如果内容有错误,欢迎大家批评指正)
1.关于时间序列xts包的部分基本操作
(1)as.POSIXct(时间字符串)函数是将时间字符串转化为时间序列类型的数据
(2)xts(时间序列数据,时间标签)函数试讲时间序列数据依次添加到时间标签后面
(3)apply.daily(数据集,函数)函数是将数据集按天进行操作
apply.monthly()按月
apply.weekly)按周
时间序列分析是一种动态数据处理的统计方法,通过对时间序列数据的分析,我们可以感觉到世界正改变着什么!
R语言
作为统计分析的利器,对时间序列处理有着强大的支持。在
R语言
中,单独为时间序列数据定义了一种数据类型zoo,zoo是时间序列的基础,也是股票分析的基础。
本文将介绍zoo库在
R语言
中的结构和使用。
最近逼事一堆,但不得不做,谁让自己XX呢? Stop complaining, and keep moving.1. R进行缺失值填充library(readxl)
library(mice)
library(proto)
factory <- read_excel("factory_mice.xls")
# factory <- read.csv("factory_mice.csv")
# 观测f