[转]R参考卡片2

十、高级数据处理

1.   apply(X,INDEX,FUN=) 根据数组的下标(INDEX)应用函数FUN返回向 ,数组或列表的值

2.   lapply(X,FUN) 应用FUN到列表X的每个元素

3.   tapply(X,INDEX,FUN=) applyFUN to each cell of a ragged array given by X with indexes

                    INDEXby(data,INDEX,FUN) apply FUN to data frame data subsetted byINDEX

4.   merge(a,b) 根据共有的列或行名把两个数据框合并

5.   xtabs(ab,data=x) 从交叉分类因子得到列联表

6.   aggregate(x,by,FUN)将数据框x分割为几个子集,且计算各个子 集的概要统计,并且以合适的方式返回结果;by是分组元素

列表

7.   stack(x,...) 将分开列形式的数据框或列表中的数据变量转化为单列

8.   unstack(x,...) stack() 的逆过程

9.   reshape(x,...) reshapes a data frame between ’wide’format with repeated measurements in separate

          columns of the samerecord and ’long’ format with the repeated measurements in

        separaterecords; use (direction=”wide”) or (direction=”long”)

十一、   字符

1.   paste(...) 转化为字符后连接向量;sep=为分割界限(一个空格为默 );选择collapse=可以分割“collapsed”结果

2.   substr(x,start,stop) 提取字符向量的子字段;同样可以赋值,使用substr(x,start, stop) <- value

3.   strsplit(x,split) 在split的位置分割x

4.   grep(pattern,x) 搜索x中满足pattern条件;参见?regex gsub(pattern,replacement,x) 替换满足正则表达式的字

           段,sub()类似,但至替换第一个出现的字段

5.   tolower(x) 转化为lowercase

6.   toupper(x) 转化为uppercase

7.   match(x,table) table中匹配x元素位置组成的向量

8.   x%in% table 同上.返回逻辑向量

9.   pmatch(x,table) table中部分匹配x元素 nchar(x)字符的个数

 

十二、   日期和时间

1.   Date 只包含日期不包含时间。POSIXct包括日期时间和时区信息。相比而言(.>),seq()difftime()比较有用。Date

        也可以使用+-?DateTimeClasses可以给出更多的信息,详见chron包。

2.   as.Date(s)as.POSIXct(s) 转化各自的属性;format(dt)转化为字符表达。默认的字符格式为“2006-07-24”。参数

     可以接受一个次级的表达式来指定转化的格式。一些常见的格式为:

1)   %a,%A精简和无精简“星期天”(weekday)

2)   %b,%B精简和无精简月名

3)   %d月份中的日期(01-31).

4)   %H 小时(00-23).

5)   %I 小时(01-12).

6)   %j年份中的日期(001-366).

7)   %m 月份(01-12).

8)   %M 分钟(00-59).

9)   %p AM/PM 指示.

10) %S十进制的秒(00-61).

11) %U星期(0-53);第一个星期天作为第一个星期的第一天.

12) %w星期天数(0-6,周日为0).

13) %W(00-53);第一个周一作为第一个星期的第一天.

14) %y无世纪的年(00-99).这个不要使用.

15) %Y有世纪的年.

16) %z (只输出.)格林威治补偿;-080为格林威治西8小时.

17) %Z (只输出.)时区作为字符串(无效为空).

3.   在输出时会碰到显示内存中数字前的零的问题,但输入时可以选择.参见?strftime.

 

十三、   绘图

1.   plot(x) x上整齐地绘制x(y轴上)

2.   plot(x,y) 双变量绘图

3.   hist(x) x的频数的直方图

4.   barplot(x) x的频数的条型图;使用horiz=FALSE改变绘图水平或垂直 dotchart(x)如果x为数据框,绘制 Clevelanddot

             (stacked plots line- by-line andcolumn-by-column)

5.   pie(x)饼图

6.   boxplot(x)箱线图

7.   sunflowerplot(x,y)同上.是以相似坐标的点作为花朵,其花辧数目为点的个数 coplot(x~y |z)根据z值或值间隔绘制x

            y的双变量图

8.   interaction.plot(f1, f2, y)如果f1 f2是因子,作y的均值图,以f1的不同值作为x轴,而f2的不同值对应不同曲线:

               可以用选项fun指定y的其他的统计量(缺省计算均值,fun=mean)

9.   matplot(x,y) 二元图,其中x的第一列对应y的第一列,x的第二列对 y的第二列,依次类推。

10.  fourfoldplot(x) 用四个四分之一圆显示2x2列联表情况(x必须 dim=c(2,2,k)的数组,或者是dim=c(2, 2)的矩阵,

            如果k = 1)

11.  assocplot(x) Cohen-Friendly,显示在二维列联表中行,列变量偏离 独立性的程度

12.  mosaicplot(x) 列联表的对数线性回归残差的马赛克图

13.  pairs(x) 如果x是矩阵或是数据框,作x的各列之间的二元图

14.  plot.ts(x) 如果x是类ts的对象,x的时间序列曲线,x可以是多元的,但是序列必须有相同的频率和时间

15.  ts.plot(x) 同上,但如果x是多元的,序列可有不同的时间但须有相同的频率

16.  qqnorm(x) 正态分位数-分位数图

17.  qqplot(x,y) 对x的分位数-分位数图

18.  contour(x,y, z) 绘制等高线图(画曲线时使用内插替换 补充空白的值)xy必须为向量,z必须为矩阵,使 

         dim(z)=c(length(x),length(y))(x 可以省略) filled.contour(x, y,z) 同上,等高线之间的区

         域是彩色的,并且 绘制彩色对应的值的图例 image(x, y,z) 同上,但是实际数据大小用不同色彩表示

            persp(x, y,z)同上,但为透视图

19.  stars(x) 如果x是矩阵或者数据框,用星形和线段画出,星代表x的每 一行线段代表列的长度。

20.  symbols(x,y,...) 在由xy给定坐标画符号(圆,正方形,长方形,星,温度计式或者盒形图),符号的类型、大小、颜

            色等 由另外的变量指定

21.  termplot(mod.obj) 绘制回归模型(mod.obj)()影响图

22.  下面的参数经常用于一般绘图函数

1)   add=FALSE如果TRUE,在前一个图上(如果存在)添加绘图

2)   axes=TRUE如果FALSE,不绘出坐标轴和盒子

3)   type="p"指定绘制图的类型,"p":,"l":线,"b"用线连接的点,"o": 同上.但线穿过点,"h":垂直的线,"s":阶梯,

        数据由垂直线的顶 端代表,"S":阶梯,但数据由垂直线的底端代表

4)   xlim=,ylim=指定坐标轴的最小和最大限制

5)   xlab=,ylab=注释坐标轴

6)   main:主标题

7)   sub=副标题(小号字体)

 

十四、   低水平绘图命令

points(x, y)添加点(选项type=可以使用)

lines(x, y)同上.但用线

text(x, y, labels,...) 在坐标x,y加入文字;典型应用:plot(x, y, type="n"); text(x, y,names)

mtext(text, side=3, line=0,...) 在指定的side添力口  (参考axis);line指定添加文字的绘图区域

segments(x0, y0, x1,y1)从点(x0,y0)划线至点(x1,y1)

arrows(x0, y0, x1, y1, angle: 30,code=2)同上。当code=2以点(x0,y0)为基原点的箭头,当code=1 (x1,y1)为原

              点的箭头,code=3双箭头;angle控制箭头张 开的角度

abline(a,b)以截距为a斜率为b的斜线

abline(h=y)y点的垂线

abline(v=x)x点的水平线

abline(lm.obj)根据lm.obj做出回归线

rect(x1, y1, x2, y2)做出左,,,高限制为x1, x2, y1, and y2的四边形

polygon(x, y)多边形作图

legend(x, y, legend)在点(x,y)添力口图例

title()添加标题

axis(side, at)添加坐标轴,底部(side=1),左侧(2),顶部(3)或右 (4);可选参数at指定画刻度线的位置坐标

            rug(x)x-轴上用短线画出数据x的位置

locator(n, type="n",...)在用户使用鼠标在图上点击n次后返回n次点击的坐标(x,y);并可以在点击处绘制符号

          (type="p") 或线(type="l"),缺省情况下不画符号或连线(type="n")

 

十五、   绘图参数

1.   可以使用par(...)来永久性改变绘图参数;很多参数也可以作为绘图命令的选项

2.   adj 控制文字对齐方式(Q左对齐,0.5居中对齐,1右对齐)

3.   bg 指定背景颜色(:bg="red",bg="blue", ...colors()可以显示657种可用颜色名)

4.   bty控制图形边框形状,可使用的值为:"o","l", "7","c", "u""]"( 框和字符想像);如果bty="n"则不绘制边框

       cex控制缺省状态下符号和文字大小的值;下面的参数有同样的功能: cex.axis,坐标轴刻度,cex.lab,坐标轴标

     签,cex.main,标题,cex.sub,副标题

5.   col控制符号和连线的颜色;使用颜色名称:"red","blue"参考colors()或作为"#RRGGBB";参考rgb(), hsv(),gray(),

      rainbow();同参数cex类似:col .axis, col.lab, col.main,col.sub

6.   font控制文本字体的整数(1:正常,2:斜体,3:粗体,4:斜粗体);还可以使用 font.axis, font.lab, font.main,

       font.sub las控制坐标轴刻度数字标记方向的整数(0:平行于轴,1:横排,2:垂直于轴,3:竖排)

7.   lty 控制连线的类型,可以是整数或字符(1:"solid", 2: "dashed", 3: "dotted", 4: "dotdash", 5: "longdash",

     6:"twodash"),或不超过8个字符的字符串("0""9"间的数)交替指定线和空白的长),单位为磅(points)和像素,

    lty="44"lty=2 一样

8.   lwd 控制连线宽度的数字,默认1

9.   mar 控制图形边空的有4个值的向量c(bottom,left, top, right) ,默认值为c(5.1, 4.1, 4.1, 2.1)mfcolc(nr,nc)

       向量分割绘图窗口为nr行和nc,按列使用子窗口 mfrow同上.但按行使用子窗口

10. pch控制符号的类型,可以是由125的整数,或者是""里的单个字符

11. [转]R参考卡片(2)

12. ps 控制文字大小的整数,单位为磅(points)

13. pty指定绘图区域类型的字符,"s":正方形,"m":最大利用

14. tck指定轴上刻度长度的值,单位是百分比,以图形宽、高中最小一个作为基数;如果tck=1则绘制grid

15. tcl同上.但以文本行的高度为基数(默认为t_cl=-0.5)

16. xaxt如果xaxt="n"则设置x-轴但不显示(有助于和axis(side=1,...)一起使用)

17. yaxt同上.y轴

 

十六、   网格(Lattice)绘图

1.   xyplot(y?x) 双变量图

2.   barchart(y?x) yx的直方图

3.   dotplot(y?x) Cleveland点图(逐行逐列累加图)

4.   densityplot(?x) 密度函数图

5.   histogram(?x) x的频率直方图 bwplot(y~x)盒形图

6.   qqmath(~x) x关于某理论分布的分位数-分位数图

7.   stripplot(y~x) 一维图,x必须是数值型,y可以是因子

8.   qq(y~x) 比较两个分布的分位数,x必须是数值型,y可以是数值,字符或 者是因子,但必须是两个“水平”

9.   splom(~x) 二维图矩阵

10. parallel(~x) 平行坐标图

11. levelplot(z~x*y|g1*g2) 在xy坐标点的z值的彩色等值线图 (xyz等长)

12. wireframe(z?x*y|g1*g2) 3d透视图(面)

13. cloud(z~x*y|g1*g2) 3d透视图()

14. 在一般性Lattice公式中,yx|g1*g2有可选择条件变量g1g2组合绘制在单独的“panels”上,Lattice函数使用了很多相同的参量作为基础附加绘图,data=,subset=.使用panel=来定义定制“panel”函数( apropos("panel")和?llines).Lattice 函数返回一个trellis 类型的对象并且是“print-ed”来生成图形.内部使用print(xyplot(...))函数时,自动绘图并无效果.使用lattice.themelset来改变Lattice默认设置。

 

十七、   模型拟和

1.   optim(par,fn, method = c("Nelder-Mead", "BFGS","CG", "L-BFGS-B", "SANN")general-purpose

         optimization; par is initial values, fn is functionto optimize (normally minimize)

2.   nlm(f,p) 根据初始值通过使用牛顿(Newton-type)算法的最小化函数

3.   lm(formula) 拟和线性模型;formula的典型形式为response~ termA + termB + ...;使用I(x*y) + I(x"2)来构成非

         线性成分

4.   glm(formula,family=) 通过指定线性预测模型和残差分布来拟和广义线性模型;family为残差分布的描述且同模型整合;

                    ?family

5.   nls(formula) 非线性最小二乘估计

6.   approx(x,y=) linearlyinterpolate given data points; x can be an xy plot¬ting structurespline(x,y=)

             cubic spline interpolation

7.   loess(formula) 局部近似回归。利用局部加权回归进行一个非参回归。这种回归对显示一组凌乱数据的趋势和描述大数据

          集的整 体情况非常有用。

8.   很多以公式为基础的模型函数有很多通用的参量:data= 公式变量的数据框,subset=满足条件的子集;na.action=缺失值

     处理方式:"na.fail", "na.omit",或一个函数.下面常用于模型拟和函数:

9.   predict(fit,...) 通过拟和模型fit计算预测值

10. df.residual(fit) 返回残差的自由度

11. coef(fit) 返回被估计的系数(有时候还包括他们的标准差)

12. residuals(fit) 返回残差值

13. deviance(fit) 返回方差

14. fitted(fit) 返回拟和值

15. logLik(fit) 计算对数似然值和参数数目

16. AIC(fit) 计算 Akaike 信息准则(Akaikeinformation criterion or AIC)

 

十八、   统计

1.   aov(formula) 方差分析

2.   anova(fit,...) 个或多个模型对象的方差表(或残差平方和表)分析

3.   density(x) x的核密度估计

4.   binom.test(),pairwise.t.test(), power.t.test(),prop.test(),t.test(),...使用help.search("test")

 

十九、   分布

1.   rnorm(n,mean=0, sd=1) 高斯(正态)

2.   rexp(n,rate=1) 指数

3.   rgamma(n,shape, scale=1) γ分布

4.   rpois(n,lambda) Poisson 分布

5.   rweibull(n,shape, scale=1) Weibull 分布

6.   rcauchy(n,location=0, scale=1) Cauchy 分布

7.   rbeta(n,shape1, shape2) β分布

8.   rt(n,df) t分布

9.   rf(n,df1, df2) 分布

10. rchisq(n,df) chi-square卡方分布

11. rbinom(n,size, prob) 二项分布

12. rgeom(n, prob) 几何分布

13. rhyper(nn, m, n, k) 超几何分布

14. rlogis(n, location=0,scale=l)  logistic分布

15. rlnorm(n,meanlog=0, sdlog=l) 对数正态

16. rnbinom(n,size, prob) 负二项分布

17. runif(n, min=0, max=l) 均匀分布

18. rwilcox(nn, m, n), rsignrank (nnAn) Wilcoxon 分布

19. 所有的函数都可以使用d,p or q来替换r分别得到概率密度(dffunc(x,…)),累积概率密度(pfunc (x,...)),分位数

 (qfunc (p, …), 0 < p <1).

 

二十、   编程

1.   function( arglist ) expr 定义函数

return(value)if(cond) expr

if(cond)cons.expr else alt.expr

for(var inseq) expr

while(cond)expr

repeatexpr

break

next

2.   使用表达(statements)使用大括号{}

3.   ifelse(test, yes, no)如果满足条件test返回yes,反之返回no

4.   do.call(funname, args)根据函数名和表达式(arguments)执行调用函数. 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值