# How do I add a trendline to two variables, two graphs of the y-axis in r?

I have this dataset

``````structure(list(Year = 1988:2012, A = c(1415.6, 1345.3, 1321.7,
1234.5, 1567.8, 1476.6, 1610.1, 1422.6, 1209.1, 1249.3, 1377.5,
1525.7, 1683.7, 1500.1, 1565.3, 1737.4, 1321, 1477.8, 1642, 1608.1,
1427.8, 1608.2, 1404.4, 1688.3, 1795.4), B = c(76, 359, 299,
215, 177, 3112, 12047, 26307, 27173, 6514, 4190, 1776, 1708,
1335, 1012, 8170, 4306, 3716, 23531.986, 34803.012, 22758.7645,
29140.16304, 36369.3619, 56975.62256, 33516.95628)), .Names = c("Year",
"A", "B"), class = "data.frame", row.names = c(NA, -25L))
```

```

and I created this graph using the function `twoord.plot`

:

``````install.packages("plotrix")
library(plotrix)

twoord.plot(Example\$Year, Example\$B, Example\$Year, Example\$A, xlim = range(1988:2012))
abline(lm(B ~ Year, data = Example), col="black")
abline(lm(A ~ Year, data = Example), col="red")
```

```

How am I supposed to tell the second trendline (red) that it belongs to the y-axis of the y-axis? Can this be done in r?

+3

source to share

I am assuming that R only knows one scale for x and one for y. If you look at the function `twoord.plot`

, you can see that it adds the right-hand portion using a scale operation:

``````points(rx, ry * ymult + yoff, col = rcol, pch = rpch,
type = type[2], ...)
```

```

I assume you need to do the same to add extra lines. Just by selecting some lines in the function, it should be ( `ly = Example\$B`

and `ry = Example\$A`

):

``````lylim <- range(ly, na.rm = TRUE)
rylim <- range(ry, na.rm = TRUE)
ymult <- diff(lylim)/diff(rylim)
yoff <- lylim[1] - rylim[1] * ymult
coef = lm(A ~ Year, data = Example)\$coefficients
abline(a = coef[1]*ymult + yoff, b = coef[2]*ymult, col="red")
```

```
+2

source

All Articles