美文网首页R可视化
R考核的内容:

R考核的内容:

作者: 麦巽生信 | 来源:发表于2020-05-08 10:01 被阅读0次

    我们经过了四周的分享,把R的整理数据,基础画图,ggplot2 画图以及从分析数据到报告的过程进行了了解。我们现在已经基本可以用到课堂内容进行数据矩阵的整理最后画出能用于文字发表的图

    考核的内容也是这一过程的应用:我打算用两个Fig的生成进行考核,第一个是散点图[60%],第二个是折线图(也可以使用散点图展示)[40%]。
    我将从结果顺利展示[30%],代码顺利运行[30%],执行效率[15%],和代码规范[25%]四个方面进行评价。


    Task.1 Generate a volcano graph for DEG data. (difficulty:\color{red}{*} ;60%)

    image.png
    1. 读取数据到R环境.
    
    

    提取log2FoldChange列和p.adj列

    1. 画一个散点图 (log2FoldChange vs -log(p.adj)) \color{red}{提示} :这里面要做个矩阵的数据处理 矩阵中只有padj 但是图上需要-log(p.adj)
    2. 上色,把 foldchang 为正的 加上红色,绿色表示下降的点,所有padj大于0.05点全部涂上灰色(“gray”)
    3. 图片名称改为"Figure.1 Volcano Graph"
    4. (选做) 加上水平线表明padj 0.05点位置
    5. (选做) 如果可以的话尝试封装你的代码到一个函数中

    \color{red}{核心提示:}

    ggplot(exam,aes(x=log2FoldChange,y=-log10(padj))) + 
      geom_point(pch=21,color=alpha("black",0),fill=exam$color)+
      xlim(c(-3,3)) +
      labs(title="volcano graph for RF_vs_RS w/o RS_T4") +
      geom_hline(yintercept = 1.3,color="gray") +
      geom_vline(xintercept = 0,color="gray") +
      theme(title = element_text(face = "bold"))
    

    Task.2 Generate a GC distribution map. (difficulty:\color{red}{*****} ;40%)

    image.png
    1. 读取数据到R环境.
    
    

    2.画一个折线图 (x=pos,y=base%) \color{red}{提示} :这里面要做个矩阵的数据处理 每条PE150 reads到相应位置到碱基分布,也就是300个位置 NATCG到分布情况要实先统计出来。在画ggplot2的时候可能要用到长矩阵和宽矩阵的转化,下面有个例子。

    1. 题目改为"Figure.2 GC distribution"
    2. (选做) 如果可以的话尝试封装你的代码到一个函数中

    FYI: might need melt() function to change the wide- to long-format matrix, and then use ggplot2 for ploting.

    head(original)
    ##        N       A       C       T       G pos
    ## 1 0.00044 0.21212 0.26264 0.05120 0.47360   1
    ## 2 0.00000 0.18766 0.28970 0.32026 0.20238   2
    ## 3 0.00000 0.19334 0.32042 0.27598 0.21026   3
    ## 4 0.00000 0.14242 0.38242 0.32514 0.15002   4
    ## 5 0.00000 0.33694 0.17736 0.30862 0.17708   5
    ## ...
    ## 149 0e+00 0.21234 0.20236 0.30840 0.27690 149
    ## 150 0e+00 0.21130 0.19410 0.32916 0.26544 150
    
    df <- melt(original,id.vars=c("pos"))
    head(df)
    ##  pos variable   value
    ## 1   1        N 0.00044
    ## 2   2        N 0.00000
    ## 3   3        N 0.00000
    ## ...
    ## 150 150      G 0.24000
    ## 150 150      T 0.36000
    
    ggplot(df,aes(x=pos,y=value,group=variable,color=variable)) 
      + geom_line()
    

    相关文章

      网友评论

        本文标题:R考核的内容:

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