美文网首页
R函数-sweep完成标准化

R函数-sweep完成标准化

作者: 新欣enjoy | 来源:发表于2020-02-23 17:15 被阅读0次

既然熟知apply函数,那么也该了解sweep函数了。相比于apply函数,sweep的操作性虽然没有前者自定义函数运算的灵活,但是在复合计算上相对灵活。

参考原文

sweep示例
对矩阵test每一行都减去对应行号

> sweep(test,1,c(1,2,3),"-")
     [,1] [,2] [,3] [,4]
[1,]    0    1    2    3
[2,]    3    4    5    6
[3,]    6    7    8    9
  • 第一个位置test这里需要是矩阵或数据框;
  • 第二个位置1和2选一个,原理和apply一样
  • 第三个位置是要操作的向量,如果要对行操作,那么这个向量长度就要和行数一样
  • 第四个位置是计算符,比如:+ - * / < > 等

sweep标准化
z-score标准化计算公式:(表达量-均值)/方差

# 行为基因,列为样本,现在对基因进行标准化
standardize <- function(x) {
rowmean <- apply(x, 1, mean)
rowsd <- apply(x, 1, sd)  
rv <- sweep(x, 1, rowmean,"-")  #表达量-均值
rv <- sweep(rv, 1, rowsd, "/")  #再除以标准差
return(rv)
}

内置标准化函数为:scale,该函数要求列为基因,因此处理时根据需要进行转置操作。

参考原文中对apply函数的参数解释的比较详细,可参考。

相关文章

  • R函数-sweep完成标准化

    既然熟知apply函数,那么也该了解sweep函数了。相比于apply函数,sweep的操作性虽然没有前者自定义函...

  • 【R>>sweep】array迭代

    刷视频是发现有个大佬在讲sweep()这个函数,那么就来温习下吧。其实sweep()是R的基础函数,有点类似app...

  • R中的sweep函数

    函数的用途 base包中sweep()函数是处理统计量的工具。所以一般结合apply()函数来使用,一般我们需要将...

  • R中的sweep函数

    base包中的sweep函数是处理统计量的工具,一般可以结合apply()函数来使用。当我们我们需要将apply(...

  • 如何使用R的sweep函数对表达矩阵进行标准化

    我们知道一般做表达谱数据分析之前,第一步就是对我们的表达矩阵进行标准化(归一化),去除由于测序深度,或者荧光强度不...

  • 20190427-R语言循环函数sweep

    -Usagesweep(x, MARGIN, STATS, FUN = "-", check.margin = T...

  • 一个有意思的R小函数-sweep

    刘小泽写于19.7.17哇,一转眼好多天没更新啦,不行不行要向隔壁花花学习。如果你不知道花花是谁,请关注我们的公众...

  • sweep

    一屋不扫何以去扫天下 其实这并复杂, 只要你不心浮气躁啊! sweep sweep sweep sweep the...

  • 用R实现雷达图

    R画图有很多包,其中可以利用R中自带的函数完成。 这里绘制雷达图的函数,依赖的包fmsb: 雷达图是展示多个项目在...

  • 学习小组Day5笔记-lemonded

    · 学习R包R包安装完成后,学习dplyr包 dplyr五个基本函数 新增列mutate() 用test,+增加列...

网友评论

      本文标题:R函数-sweep完成标准化

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