R 散点图脚本有助于可视化具有统计意义的基因及其相应的Z分数

R 散点图脚本有助于可视化具有统计意义的基因及其相应的Z分数,r,ggplot2,scatter-plot,R,Ggplot2,Scatter Plot,所以我有一个独特基因的数据集,在x轴的“I..Gene”列下,在y轴的“UbZScore”列下,它们各自的Z分数 我已经运行了这个脚本来生成一个基因的散点图,以及它们对应的Z值。我打算用散点图给基因上色,Z值至少为1.96或小于-1.96,满足条件的基因在图上的点旁边显示其基因名称。此外,我还想知道我的代码需要做哪些修改才能使“真”或“假”的颜色与脚本自动生成的颜色不同,以及如何将“真”和“假”重命名为其他颜色。我还附加了脚本生成的图形 ggplot(MasterScreen, mapp

所以我有一个独特基因的数据集,在x轴的“I..Gene”列下,在y轴的“UbZScore”列下,它们各自的Z分数

我已经运行了这个脚本来生成一个基因的散点图,以及它们对应的Z值。我打算用散点图给基因上色,Z值至少为1.96或小于-1.96,满足条件的基因在图上的点旁边显示其基因名称。此外,我还想知道我的代码需要做哪些修改才能使“真”或“假”的颜色与脚本自动生成的颜色不同,以及如何将“真”和“假”重命名为其他颜色。我还附加了脚本生成的图形

    ggplot(MasterScreen, mapping=aes(x = ï..Gene, y = UbZscore)) +
      geom_point(aes(color = {UbZscore >= 1.96 | UbZscore<= -1.96})) +
      labs(
        x = "Genes",
        y = "Z-Score of Ubiquitin Colocalization",
        color = "Statistical Significance",
        title = "Significant Genes in Ubiquitin Colocalization")
ggplot(主屏幕,映射=aes(x=i..Gene,y=UbZscore))+

geom_point(aes)(color={UbZscore>=1.96 | UbZscore根据数据点的值对其进行着色的一种方法是使用多个过滤数据帧

如果您能提供您的数据帧的一些子集,以便我们尝试解决它,那就更好了。 但不管怎样,我的建议都是这样

首先,通过z分数过滤数据帧

library(dplyr)

    MasterScreenHigh <- MasterScreen %>%
        filter(UbZscore > 1.96)

    MasterScreenInner <- MasterScreen %>%
        filter(UbZscore <= 1.96 && UbZscore >= -1.96)

    MasterScreenLow <- MasterScreen %>%
        filter(UbZscore < -1.96)

因为我没有任何数据可以尝试,所以我不确定这是否能很好地工作。但是这种方法是可能的。我已经做过很多次了。

只要根据阈值创建一个新变量,并根据该变量进行着色。如果使用dplyr,可以在
时使用
case\u
作为向量化的If语句。例如,使用mtcars,我们可以创建一个
变量,当mpg<20时为“红色”,当mpg>=20时为“绿色”(显然,您可以修改此变量以获得统计数据)。您也可以将
标签
传递给ggplot的
aes
调用,然后添加
几何图形文本
,以获得实际绘图上的标签

library(dplyr)
library(ggplot2)

mtcars %>%
    mutate(
        # add variable of labels
        name = row.names(.),
        # add colour variable
        col = case_when(
            mpg < 20 ~ 'red',
            mpg >= 20 ~ 'green')) %>%
    ggplot(aes(x = disp, y = mpg, color = col, label = name)) +
    geom_point() +
    geom_text()
库(dplyr)
图书馆(GG2)
mtcars%>%
变异(
#添加标签的变量
名称=行。名称(.),
#添加颜色变量
col=情况(
mpg<20~‘红色’,
mpg>=20~‘绿色’)%%>%
ggplot(aes(x=disp,y=mpg,color=col,label=name))+
几何点()+
geom_text()

制作多个数据帧肯定不是最好的方法,为什么不创建一个新的变量和颜色呢?这实际上是一个很好的建议,根据阈值创建一个新列。感谢inputHowdy Omar,我刚刚用数据集格式的屏幕截图更新了这个问题,但感谢大家的热情lcome。刚开始一个研究项目,它需要我处理900个基因以进行可视化,所以我在本月早些时候跳上了R编码列车,男孩,这是一件值得学习的事情。嗨,你的建议成功地为基因生成了名称,但我想知道你是否有一个脚本可以建议从一系列值中删除名称es基于y轴。也非常感谢您之前的脚本!您好。如果答案成功回答了您的问题,请将其标记为已接受。您应该用新问题发表新文章。发表时请随时通知我。
library(dplyr)
library(ggplot2)

mtcars %>%
    mutate(
        # add variable of labels
        name = row.names(.),
        # add colour variable
        col = case_when(
            mpg < 20 ~ 'red',
            mpg >= 20 ~ 'green')) %>%
    ggplot(aes(x = disp, y = mpg, color = col, label = name)) +
    geom_point() +
    geom_text()