二、操作基础

%%取余

%/%整数除法

(1)eigen(...)求解方阵的特征值和特征向量

(2)solve(D,A)求解DX=A

(3)data<-list(...)取里面的对象data[["列名称"]];data[[下标]];data$列名称

(4)unlist(列表对象)把列表对象转化为向量对象

(5)names(数据框)读取并编辑列的名称

(6)数据框data 取里面的对象data[["列名称"]];data[[下标]];data$列名称;data[,列下标]

  读取多列数据data[,列下标向量]

(7)subset函数索引

(8)数据框和矩阵的合并扩展rbind、cbind

(9)as.factor()把一个向量转化为无序因子向量,无序因子向量只能进行等于和不等于比较。

   as.ordered()把一个向量转化为有序因子向量,有序因子可以进行大于小于操作。

   is.factor() is.ordered()

(10)length(向量)

    nchar(字符串)

    paste函数合并字符串

    strsplit把字符串分割为列表

    unlist(strsplit(字符串,split="分隔符"))把一个字符串分割成多个字符串的向量

(11)substr()函数进行读取和替换字符串

    grep()读取列表中特定的字符串,返回所在位置。读取字符串时,若包含特殊字符返回1,否则返回integer(0)

    regexpr()只查询匹配第一个特定的字符,gregexpr()可以多次匹配

    chartr(old,new,x)函数作字符替换

    sub()只对字符串进行部分替换,gsub()可进行全部替换    

(12)正则表达式

    []表示字符集合

    [0-9] [a-z] [A-Z] [a-z0-9A-Z]

    (.)除换行符以外的任何字符

    \\通配符 表示普通的(.)为\\.

    限定符:

    *重复零次或更多次

    +重复一次或更多次

    ?重复零次或一次

    {n}重复n次

    {n,}重复n次或更多次

    {n,m}重复n~m次

(13)gl创建一个因子向量

(14)read.fwf 文件内的数据是固定宽度

    scan 可以是先设定数据的类型

    read.csv 

(15)Excel格式文件的读取

 RODBC包中核心函数odbcConnectExcel(打开excel的文件功能)和sqlFetch读取文件某个sheet内的数据内容。

(16)输出数据

   向量和矩阵的输出write

   列表和数据框write.table

   write.csv

(17)输出R命令至外部文件

    cat

 三、R语言绘图基础(ggplot2 lattice包)

 设置函数参数属性

(1) plot(c(1:10),type="b",col="black")#设置线的颜色
     text(6,5,labels="文字",col = "red")#6,5代表坐标
     points(2,5,col="blue")#设置点的颜色
 (2)颜色条
    pdf("D:/colors_bar.pdf",height=120)
    par(mar=c(0,10,3,0)+0.1,yaxs="i")
    barplot(rep(1,length(colors())),col=rev(colors()), names.arg=rev(colors()),horiz=TRUE,las=1,xaxt="n",main=expression("Bars of colors in"~
    italic(colors())))
 (3)rgb函数把颜色转化为十六进制
 (4)rainbow(n,s=1,v=1,start=0,end=max(1,n-1)/n,gamma=1)
 (5)坐标设置
 axis(side=1,at=seq(from=3,length.out = 6,by=8.5),labels = x.text,cex=0.75)
 (6)heat.colors()
    terrain.colors()
    topo.colors()
    cm.colors()
 (7)颜色扩展包RColorBrewer
    brewer.pal()函数生成颜色
    连续型Sequential(共18组每组为9个)
    极端型Diverging(共9组,每组11个)
    离散型Qualitative(共8组)
   display.brewer.all(type="seq")
   display.brewer.all(type="div")
   display.brewer.all(type="qual")
   选择连续型中的YlOrRd中第3~8组颜色
   barplot(rep(1,6),col=brewer.pal(9,"YlOrRd")[3:8])
 (8)bg参数设置其背景
    border参数设置其边框颜色
 文字元素
 (9)font字体1、2、3、4表示正常,粗体,斜体,粗斜体  
 (10)cex 缩放倍数 大于一是放大 ,小于1是缩小
 点元素参数设置
 (11)点样式pch 颜色col 缩放cex
  plot(1,col="white",xlim=c(1,9),ylim=c(1,7))
  for (i in c(0:25)){
  x<-(i%/%5)*1+1
  y<-6-(i%%5)
  if(length(which(c(21:25)==i)>=1)){
  points(x,y,pch=i,bg="red",cex=2)
  }
  else{
  points(x,y,pch=i,cex=2)
 }
 text(x+0.2,y+0.2,labels=paste("pch",i))
 }
 线元素相关参数设置
 (12)线条样式lty 颜色col 粗细lwd
  data<-matrix(rep(rep(1:7),10),ncol=10,nrow=7)
  plot(data[1,],type="l",lty=0,ylim = c(1,8),xlim = c(-1,10),axes=F)
  text(0,1,labels = "lty=0")
  for(i in c(2:7)){
  lines(data[i,],lty=i-1)
  text(0,i,labels = paste("lty=",i))
 }

 (13)坐标轴axis()

  col.axis 刻度标记的颜色

  col坐标轴颜色

  col.ticks 与坐标轴垂直的小刻度线的颜色

 (14)与坐标轴相关的参数

 (15)坐标轴的密度分布

 绘制样本散点图

 rug函数显示各轴的密度

 (16)边框

 bty参数

 “0”默认4天边框都显示

 "c"表示不显示右边框

 "n"不绘制任何边框

 "l"、"7"、"u"、"]"

 box()函数可以设置各边框的线条样式

 (17)网格线

 grid()函数

 (18)通过低级绘图函数points可以独立添加点元素

 画图时分为几行几列时用par(mfrow=c(i,j))

 (19)绘制线

 曲线lines() 

 直线abline()

 线段segments()

 线性回归函数lm(y~x) abline(lm(y~x))

 arrows(x,y,x1,y1,angle=90/60/30/0)函数绘制箭头 

 (20)文字

 text()

 同比增长 环比增长

 (21)

 绘制多边形

 polygon(x,y,...)

(22)高级绘图函数

plot函数没有add参数

plot绘制散点、曲线图

barplot绘制柱形和条形图

hist绘制直方图

pie绘制饼图

使用ggplot2扩展包可以绘制星状图、堆积面积图(qplot)、气泡图。

密度曲线图plot(density())

雷达图/星状图 fms包中radarchart

关系网络图 igraph包中的plot函数

(23)图形

散点图plot  绘制一维变量样本点,y轴显示data变量数值,x显示样本序列号

            绘制二维变量样本点,x轴显示x.data变量数值,y轴显示y.data变量数值

 

气泡图      在plot函数的基础上利用cex参数完成

            x轴展示...,y轴展示...,散点的大小表示...

            (1)准备数据(2)设置不同类目颜色(3)设置散点大小(4)绘制气泡图            

 

曲线图      设置plot函数的type属性

 

柱状图      barplot函数

            height绘制一组数据,则以向量形式输入,绘制对组数据,则以矩阵形式输入 data是数据框转化为矩阵 t(as.matrix(data))

            horiz=FALSE 绘制柱状图 horiz=TRUE 绘制条形图

            beside=FALSE 垂直堆积展示 beside=TRUE 水平并列展示

 

条形图      把barplot函数里的horiz参数设置为TRUE 

            labels=paste(round(10000*pv/sum(pv))/100,"%",sep

y轴设置标记文字使用axis函数设置的文字是垂直的,使用text函数设置的文字是水平的。

 

饼图        适合成分数目较少时

            pie(x,labels=names(x),...)

 

复合图P114(没懂)  barplot函数参数add为true时,表示该操作在之前绘图的基础上完成的

 

面积堆积图  ggplot2包 
            绘制百分比面积堆积图
            ggplot(data=...,mapping=aes(...))+geom_area(position="fill")
            绘制面积堆积图
            ggplot(data=...,mapping=aes(...))+geom_area()
            其中 aes(x,y,group,fill);data=data.frame(x=,y=,group);mapping=aes(x=x,y=y,group=group,fill=group)
 
            root="c:/"
            file=paste(root,"...csv文件",sep="")
            data.csv<-read.csv(file)
            library(ggplot2)
            t<-0;group<-"";num<-0;
            for(i in 1:nrow(data.csv))
            {
               t<-c(t,rep(i,ncol(data.csv)))
               group<-c(group,names(data.csv))
               num<-c(num,as.matrix(data.csv)[i,])
            }
            data<-data.frame(x=t,group=group,y=num)
            data<-data[-1,]
            ggplot(data,aes(x=x,y=y,group=group,fill=group))+geom_area()

 

直方图和密度曲线图  

            hist() 参数breaks

            density变量的密度曲线 rug坐标轴密度曲线

            plot(density(pv))

            rug(pv)

 

柱状图高度直接代表pv的取值,x轴代表pv样本点序列号

直方图x轴代表pv的统计尺度,高度代表在各个统计尺度下pv样本的数目    

(24)设置子绘图区域

par(mfrow=c(nrow,ncol))
绘制窗口操作
dev.new()