2015-04-29 91 views
3

我有這樣的數據集如何將趨勢線添加到r兩個變量,兩個y軸圖?

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)) 

,我創造了這個情節與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") 

enter image description here

我該如何告訴到第二趨勢線(紅色的)屬於右手y軸?是否有可能在r?

回答

2

我想R只知道一個尺度的x和一個y。如果你看看到函數twoord.plot你可以看到,它增加了右手情節與縮放-offest操作:

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

我的猜測是,你必須做同樣的添加額外的線路。只需選擇一些行進入功能,它應該是(ly = Example$Bry = 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") 
相關問題