2017-01-31 39 views
1
lab <- data.frame(Month = c("2016-01-01", "2016-02-01", "2016-03-01", "2016-04-01", "2016-05-01", "2016-06-01"), AccNumber = c(5683,5418,6001,6184,6001,6184), OCTAT = c(40.20,50.52,47.15,45.03,47.15,45.03), Default = c(30,30,30,30,30,30)) 

id <- rownames(lab) 
lab <- cbind(id = id, lab) 
max <- max(lab$AccNumber) 
max2 <- max(lab$OCTAT) 
p <- barplot(lab$AccNumber, names.arg = lab$Month, xlab = "Month", col = "blue" ,ylim = c(0, max + 2000)) 
par(new=TRUE) 
plot(x = id, y = lab$OCTAT, type = "l", col = "red", axes = FALSE, ylim = c(0, 60), ann = FALSE) 
plot(x = id, y = lab$OCTAT, type = "l", col = "green", axes = FALSE, ylim = c(0, 60), ann = FALSE, lwd = 2) 
p <- barplot(lab$AccNumber, names.arg = lab$Month, xlab = "Month", col = "blue" ,ylim = c(0, max + 2000)) 
par(new=TRUE) 
plot(x = id, y = lab$OCTAT, type = "l", col = "green", axes = FALSE, ylim = c(0, 60), ann = FALSE, lwd = 2) 
axis(4, at=seq(0, max2 + 10, 10)) 
abline(h = 30, lwd = 2) # Default blue line (30) 
abline(lm(lab$OCTAT ~ lab$id), col = "red", lty = 2) #Regression line trend 

コードを実行した後、これは以下のようになります。私はRに全く新しいです。どのようにして2番目の写真のような回帰直線を得ることができますか?regresio行が正しく表示されませんでした

enter image description here

enter image description here

答えて

0

あなたは右軸に左軸からまたがるように赤い点線をしたい場合は、へのコードの最後の行を変更:

abline(lm(lab$OCTAT ~ as.numeric(lab$id)), col = "red", lty = 2) 

これは、 lab$idは、クラス文字です。

あなたは赤い点線は、緑の線と同じ幅にまたがるへのコードの最後の行を変更したい場合:ID = 1とIDを入れてから取得され

lines(x = c(1,6), y = c(44.9953, 46.6983), col = 'red', lty = 2) 

値44.9953と46.6983を= 6のモデルをlm(lab$OCTAT ~ as.numeric(lab$id)からフィッティングしました。

これはあなたが探していたものです。

関連する問題