0

Rに次のデータとコードがあります:

x <- runif(1000, -9.99, 9.99)
mx <- mean(x)
stdevs_3 <- mx + c(-3, +3) * sd(x/5) # Statndard Deviation 3-sigma

そして、Rで(3つの標準偏差と平均線とともに)線としてプロットしました:

plot(x, t="l", main="Plot of Data", ylab="X", xlab="")
abline(h=mx, col="red", lwd=2)
abline(h=stdevs_3, lwd=2, col="blue")

平均線と SD 線を含む折れ線グラフ

私がしたいこと:

プロットのどこでも、線が 3 シグマのしきい値 (青い線) を超えるときはいつでも、その上または下で、線は黒とは異なる色になります。

私はこれを試しましたが、うまくいきませんでした:

plot(x, type="l", col= ifelse(x < stdevs_3[[1]],"red", "black"))
abline(h=mx, col="red", lwd=2)
abline(h=stdevs_3, lwd=2, col="blue")

他に方法はありますか?

4

1 に答える 1

0

これは要求されたものですが、x を任意に 5 で除算しているため、私には無意味に見えます。

png( )
plot(NA, xlim=c(0,length(x)), ylim=range(x),  main="Plot of Data", ylab="X", xlab="", )
 stdevs_3 <- mx + c(-3, +3) * sd(x/5) 
 abline(h=mx, col="red", lwd=2)
 abline(h=stdevs_3, lwd=2, col="blue")
 segments( 0:999, head(x,-1), 1:1000, tail(x,-1) , col=c("black", "red")[ 
                                       1+(abs(tail(x,-1)) > mx+3*sd(x/5))] )
 dev.off()

ここに画像の説明を入力

于 2016-03-02T06:27:46.467 に答える