R语言-基础解析

来源:转载

二、操作基础

%%取余

%/%整数除法

(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() 

 

 

 

 

 

 

 

分享给朋友:
您可能感兴趣的文章:
随机阅读: