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() 
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/luckyfang/p/5479535.html