R语言数据分析入门

#cbind()或rbind()函数将矩阵或向量按行或列合并,形成新的矩阵

cbind(1:2,3:4,7:8)
	[,1] [,2] [,3]
[1,]  1    4    7
[2,]  2    5    8
rbind(1:2,4:5,7:8)
	[,1] [,2] 
[1,]  1    2
[2,]  4    5
[3,]  7    8

#as.numeric()函数把因子型向量转换成数值型向量时,将输出水平序号

> hakata <- c(0,2,3,1,3,2,1,2)
> fhakata <- factor(hakata,levels=0:3)
> fhakata
[1]  0  2  3  1  3  2  1  2
Levels: 0 1 2 3
> as.numeric(fhakata)
[1]  1  3  4  2  4  3  2  3
> as.numeric(as.charcter(fhakata))
[1]  0  2  3  1  3  2  1  2

#在对象名后面添加“$成员引用名”并执行,就可以直接引用指定列表成员

#对于向量,计算平均值、标准差、四分位差和相关系数

> var(ws.customer$Fresh)
> sd(ws.customer$Fresh)
> IOR(ws.customer$Fresh) 
> cor(ws.customer$Fresh)

#基于dplyr程序包的数据框操作

#通过filter()函数执行过滤,并返回由满足条件的行执行的数据框。第1个参数为数据框,第2个参数为针对各个变量的条件表达式。条件表达式如果用逗号分隔符描述,表示只选择满足全部条件的行(AND),如果用“|”分隔符,描述,则表示选择满足任意条件的行(OR)。如果只提取数据框中指定的变量的列,可以使用select()函数。

> filter(ws.customer,Frozen>8000,Grocery>9000)
> select(ws.customer,Channnel:Milk)

#在dplyr程序包中,可以使用summerize()函数执行和前边的summary()函数相同的操作。

> summarize(ws.customer,n=n(),Fresh.m(Fresh),
+	Milk.m=mean(Milk))

#通过组合使用summarize()函数和用因子型的列对数据框进行分组的group_by函数,可以按组汇总

> ws.customer.g <- group_by(ws.customer,Channel,Region)
> summerize(ws.customer.g,n=n(),Fresh.m=mean(Fresh),
+	Milk.m=mean(Milk))

#说数据框的排序可以使用arrange()函数,默认为升序,可以使用desc()进行升序排序

#基于%>%的数据框操作的连接。%>%就是将最开始的操作的结果暂时保存为另一名称的对象,然后对该对象执行下一步的操作。
#数据的可视化,一般用ggplot2程序包。

\\安装如下:
> install.packages("ggplot2")
> library(ggplot2)

#柱状图。

\\首先可用table()函数进行统计
> channel.tab <- table(es.customer$Channel)
> channel.tab

#若要基于该计数绘制柱状图,可以用barplot()函数

> barplot (channel.tab,ylim=c(0,300),ylab="计数")

#ggplot2程序包用qplot()函数来绘制基本的统计图。

\\当qplot()函数的参数只指定了一个因子型变量时,就可以绘制出柱状图
> qplot(Channel, data=ws.customer, fill=I("grey",ylab="计数"))

#可以将柱状图的柱子按照其他分类变量的类别的比例进行分割,然后分配对应的颜色,这就是纵向堆积柱状图。

\\纵向堆积柱状图
> qplot(Channel,data=ws.customer,fill=Region,ylab="计数")
\\带状图
> qplot(Channel,data=ws.customer,fill=Region,ylab="比例"
+		position="fill")

#直方图

\\使用hist()函数,breaks参数指定了分割的区间个数
> hist(ws.customer$Milk,breaks=20,xlim=c(0,80000),ylim=c(0,300),
+		 xlab="Milk",ylab="计数",main="")
\\在ggplot2程序包中,绘制直方图如下:
> qplot(Milk,data=ws.customer,fill=I("grey"),color=I("black"),
+			binwidth=4000)
\\binwidth参数指定分割的区间的宽度

#箱型图
箱子有三根水平线,从下往上分别是第1四分位数,中位数,第3四分位数。须线(从箱子里延伸出的垂直线)的下限是“第1四分位数-1.5x四分位间距”,上限是“第3四分位数+1.5x四分位间距”范围内的数据的最大值。该范围之外的数据被称为异常值绘制,箱型图是检查异常值的工具。

\\使用boxplot()函数来绘制箱型图
> bosplot(Milk~Channel,data=ws.customer,ylim=c(0,80000))
\\使用ggplot2绘制如下:
> qplot(Channel,Milk,data=ws.customer,geom="boxplot")

#散点图

\\绘制散点图可以如下
> plot(ws.customer$Grocery,ws.customer$Detergents_Paper,
+		xlab="Grocery",ylab="Detergents_Paper")
\\使用gglot2()绘制如下:
> qplot(Grocery,Detergents_Paper,data=ws.customer)
\\另外散点图的大小颜色都可以调节:
> qplot(Grocery,Detergents_Paper,
+		color=Channel,size=Fresh,data=ws.customer)

#逐个绘出图像

> qplot(Grocery,Detergents_Paper,
+			color=Channel,size=Fresh,data=ws.customer,
+			facets=~Channel)
\\如果是指定纵向排列,则应该是Channel~

你可能感兴趣的:(R语言,R数据分析入门)