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>2 & mydata$padj<0.05, "red", "black"), col=ifelse(mydata$foldChange<0.2 & mydata$padj<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>2 & mydata$padj<0.05, "red", ifelse(mydata$foldChange<0.2 & mydata$padj<0.05, "blue", "black")), log="x")
以上是关于R plot 条件颜色(具有多个条件)的主要内容,如果未能解决你的问题,请参考以下文章
R语言编写自定义函数(线条颜色线型填充色标签字体轴标签等)设置fmsb包生成的漂亮的雷达图(radar chart蜘蛛图spider plot)可视化多个数据对象的雷达图