R plot 条件颜色(具有多个条件)

Posted

技术标签:

【中文标题】R plot 条件颜色(具有多个条件)【英文标题】:R plot conditional color (with more than one condition) 【发布时间】:2016-09-15 15:53:27 【问题描述】:

我正在尝试在 R 中生成一个图,如果数据点满足条件 X 和条件 Y OR 条件 Z 和条件 Y,则它们会被着色。

我可以为这个论点的一半生成一个图表——即:如果满足条件 X 和 Y,则为颜色。

plot(mydata$Mean, mydata$log2FoldChange, cex=0.3, pch=20, 
col=ifelse(mydata$foldChange>2 & mydata$pval<0.05, "red", "black"), log="x", 
xlab="mydata$mean", ylab="mydata$log2foldchange")

看起来像:this

理想情况下,我希望图表的下半部分为类似条件着色:pval

我试过了:

plot(mydata$Mean, mydata$log2FoldChange, cex=0.3,pch=20, col=ifelse(mydata$foldChange&gt;2 &amp; mydata$padj&lt;0.05, "red", "black"), col=ifelse(mydata$foldChange&lt;0.2 &amp; mydata$padj&lt;0.05, "blue", "black") log="x", xlab="mydata$mean", ylab="mydata$log2foldchange")

但它会抛出一个错误:

错误:“plot(mydata$Mean, mydata$log2FoldChange, cex=0.3,pch=20, col=ifelse(mydata$foldChange>2 & mydatar$padj

我只是不确定如何在 R 中包含“或”语句。感谢您的帮助,我对 R 还是很陌生!

【问题讨论】:

可能是c("red","black")[with(mydata, (condition1) | (condition2) ) + 1] 之类的? 【参考方案1】:

怎么样:

col=ifelse(mydata$padj<0.05, ifelse(mydata$foldChange>2,"red", ifelse(mydata$foldChange<0.2 , "blue", "black"), "black"), "black")

【讨论】:

太棒了!不得不重新安排一下,但类似的东西效果很好:plot(mydata$Mean, mydata$log2FoldChange, cex=0.3, pch=20, col=ifelse(mydatar$foldChange&gt;2 &amp; mydata$padj&lt;0.05, "red", ifelse(mydata$foldChange&lt;0.2 &amp; mydata$padj&lt;0.05, "blue", "black")), log="x")

以上是关于R plot 条件颜色(具有多个条件)的主要内容,如果未能解决你的问题,请参考以下文章

根据 R 中的值绘制条件颜色 [重复]

R - 基于条件的情节中的组织样线的不同颜色

根据限制/条件更改散点的颜色

基于值 R Plotly 的红色或绿色阴影颜色标记

Plotly:如何根据条件为两条线之间的填充着色?

R语言编写自定义函数(线条颜色线型填充色标签字体轴标签等)设置fmsb包生成的漂亮的雷达图(radar chart蜘蛛图spider plot)可视化多个数据对象的雷达图