美文网首页
sweep函数用于统一处理

sweep函数用于统一处理

作者: BINBINCC | 来源:发表于2022-01-09 19:17 被阅读0次
    #用法
    sweep(x, MARGIN, STATS, FUN="-", check.margin = TRUE, ...)
    
    #x:即要处理的原数据集
    #MARGIN:对行或列,或者数列的其他维度进行操作,与apply的用法一样,MARGIN=1表示行,MARGIN=2表示列
    #STATS:需要对原数据集操作用到的统计量
    #FUN:操作需要用到的四则运算,默认为减法"-",当然也可以修改成"+","*","/",即加、乘、除
    #check.margin:是否需要检查维度是否适宜的问题,默认为TRUE。
    

    例样:
    创建一个4行3列的矩阵
    M = matrix( 1:12, ncol=3)

    image.png

    操作:

    1.每一行都减去这一行的均值
    方法一,通过rowMeans函数来计算每一行的均值
    sweep(M,1,rowMeans(M))
    方法二,通过apply函数来计算每一行的均值,MARGIN=1,对行做操作sweep(M,1,apply(M,1,mean))

    image.png

    2.每一行列都减去这一列的均值

    方法一,通过colMeans函数来计算每一列的均值
    sweep(M,2,colMeans(M))
    方法二,通过apply函数来计算每一列的均值,MARGIN=2,对列做操作
    sweep(M,2,apply(M,2,mean))

    image.png

    3.四行分别加上1,2,3,4

    sweep (M, 1, c(1: 4), "+")

    image.png

    相关文章

      网友评论

          本文标题:sweep函数用于统一处理

          本文链接:https://www.haomeiwen.com/subject/emzucrtx.html