美文网首页
apply函数族

apply函数族

作者: 萍智医信 | 来源:发表于2022-02-01 23:50 被阅读0次

    1.apply 处理矩阵或数据框

    apply(X, MARGIN, FUN, …)

    其中X是数据框/矩阵名;

    MARGIN为1表示取行,为2表示取列,FUN是函数

    test<- iris[,1:4]
    head(test)
    
    apply(test, 2, mean)
    head(apply(test, 1, sum))
    

    2.lapply(list, FUN, …)

    # 对列表/向量中的每个元素(向量)实施相同的操作
    test <- list(x = 36:33,
                 y = 32:35,
                 z = 30:27)
    #返回值是列表,对列表中的每个元素(向量)求均值(试试方差var,分位数quantile)
    lapply(test,mean)
    class(lapply(test,mean))
    x <- unlist(lapply(test,mean));x
    class(x)
    

    3.sapply 处理列表,简化结果,直接返回矩阵和向量

    sapply(X, FUN, …) 注意和lapply的区别,返回值不一样


    -------------------------练习------------------------------

    ##方差最大1000个基因名
    x=names(tail(sort(apply(test,1,var)),1000))
    ##提取这1000个基因表达量
    test[x,]
    ##画箱线图
    boxplot(test[1,]~rep(c("a","b"),3))
    

    ##对这1000基因表达量画热图
    pheatmap::pheatmap(test[x,],show_rownames = F)
    

    参考资料:生信技能树-小洁老师

    相关文章

      网友评论

          本文标题:apply函数族

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