根据R中的另一个系列绘制满足某些条件的直线上的点

时间:2014-07-04 08:25:03

标签: r plot points

我有以下数据

a<- rnorm(10)*10+100
b<- c(0,0,0,1,1,0,1,0,1,1)

首先,我想用

绘制一条线
plot(a)

然后我想在 b 系列中 1 的任何地方绘制点数。

请帮帮我。我真的被卡住了。

1 个答案:

答案 0 :(得分:1)

使用ifelse,您可以选择要绘制的向量“a”中的值:

ifelse(b==1,a,0)

要获取第一个图中的线(不是默认点),您应该使用type="l"

代码可以是这样的:

set.seed(1)   ## I set the seed here to get a reproducible example
a<- rnorm(10)*10+100
b<- c(0,0,0,1,1,0,1,0,1,1)
plot(a,type='l')
points(ifelse(b==1,a,0),col='red',pch=20,cex=2)

enter image description here