Я хочу использовать R для построения двух рядов данных с одинаковыми значениями x (например, датами). Я хочу, чтобы две строки были на одном и том же графике, но сегменты, где один больше другого, должны быть другого цвета. Например, в качестве примера:Построение пересечений на линейных графиках в R
x<-c(-5:5)
y1<-x^2-x-10
y2<-(x^3)-(x^2)-(10*x)+2
plot(x,y1,col="blue", ylim=c(-100,100), type="l")
par(new=T)
plot(x,y2,col="green", ylim=c(-100,100), type="l")
с участками, где y2 больше y1, чтобы быть красным. Таким образом, зеленая линия будет красной больше или меньше где -3 < x < 1, а затем снова, когда x> 3 (я попытался опубликовать рисунок, но моя репутация недостаточно высока). Я хочу разработать немного кода, который позволит мне сделать это для любого набора данных, например, в виде матрицы-то вроде:
xy<-as.matrix(cbind(x,y1,y2))
У меня есть подозрение, что это может быть сделано с помощью for
и if
петли , но я предпочел бы более элегантное решение. Если бы я мог сделать что-то вроде этого: Show the intersection of two curves, как хорошо, это было бы здорово!
Большое спасибо за помощь!