数据是分析的核心,在做数据分析之前,首先要对数据进行一定的处理。数据预处理指当录入或读取数据后,对数据进行必要的清理,包括查错纠错、异常观察值和无效样本的处理、转换、填补缺失值等,这是数据分析的重要前提,是描述统计、定性定量分析的基础。它的主要口的就是为后续的分析工作提供经过清理、质量较好的数据集。
3.1基本函数
基本数学函数
高级数学函数
> data=read.table("c:/Program Files/RStudio/1.txt",header=T)
> attach(data)
> mean(salary)
[1] 4.666667
> length(salary)
[1] 12
> cumsum(salary)
[1] 2 6 14 19 26 35 41 42 44 48 51 56
当数据量较多时,要想统计数值大小等基木信息、比较困难,所以需要对其分组,从而大致描述数据信息。需要利用函数。cut(),它可以把数值型对象分区间转换为因子,调用格式如下:
cut (x, breaks, labels=NULL,include.lowest=FALSE, right=TRUE…)
其中,x为被转换的对象,是一个数值向量;breaks可以是单个数字,指明x要分为几组,也可以是一个向量,可自行设置分组的切点:labels给每个组添加标签;include.lowest是逻辑值,指明区间的开闭情况,即区间端点值是否包括在内:right也是逻辑值,默认区间为左开右闭。
> salary1=cut(salary,3)
> table(salary1)
salary1
(0.992,3.67] (3.67,6.33] (6.33,9.01]
4 5 3
> salary1=cut(salary,3,labels=c("low","medium","hight"))
> table(salary1)
salary1
low medium hight
4 5 3
> breakpoints=c(0,3,4,5)
> salary2=cut(salary,breaks=breakpoints)
> table(salary2)
salary2
(0,3] (3,4] (4,5]
4 2 2
落入不同工资段内的数据个数
> breakpoints=c(0,3,4,5,6)
> salary2=cut(salary,breaks=breakpoints)
> table(salary2)
salary2
(0,3] (3,4] (4,5] (5,6]
4 2 2 1
对数据绘制出多个图形
> pic=function(x){
+ par(mfrow=c(2,2))
+ hist(x)
+ dotchart(x)
+ boxplot(x)
+ qqnorm(x);qqline(x)
+ par(mfrow=c(1,1))
+ }
> pic(salary)
3.2数据修改
3.2.1修改数据标签
> data=read.table("c:/Program Files/RStudio/1.txt",header=T,stringsAsFactors=F)
> names(data)=c("City","Price","Salary")
> names(data)
[1] "City" "Price" "Salary"
3.2.2行列删除
data[-a,-b]表示删除数据集的第a列,第b行