における離散(または不連続)関数のプロット:0と1との間にxのは私がggplot使用してプロットしたい以下の機能、有しggplot2
F(X)= 3/4。 xは2〜3の間で1/4、他は0である。これは私が間違ってやっていることは0を中心とした唯一の水平線でプロットになり、しかし
eq<-function(x) {
if(x>=0 && x<=1) {
y<-3/4
} else if(x>=2 && x<=3) {
y<-1/4
} else {
y<-0
}
return(y)
}
library(ggplot2)
ggplot(data.frame(x=c(-5,5)), aes(x)) + stat_function(fun=eq)
:
私は、次のRコードが出ていますか?
私は、このような問題があると考えました。なぜ私のコードはベクタのために働くのですか? プロット中に、垂直エッジが離散関数から予想されるように完全に垂直ではないことがわかります。それについて私は何ができますか? –
'if'は単一のブール値で動作し、' ifelse'はブール値のベクトルで動作します。同様に、 '&&'は単一のブール値を生成し、 '&'はブール値のベクトルを生成します。私はステップ(または "階段")関数として関数をプロットするために私の答えを編集しました。 –
ありがとう!これはうまく動作します。 –