這裏是我的功能。它在其他地方的[-5,-3]和[3,5]和0上需要一定的值。該功能是圍繞原點對稱的。從一個標量函數R中創建一個向量函數
f<-function(x){
y=0
if (x>=-5 && x<=-3){
y=3*(1-(x+4)^2)/8
}
if (x>=3 && x<=5){
y=3*(1-(x-4)^2)/8
}
return(y)
}
好了,所以我使用的函數sapply (bins, f)
bins = seq(-5,5,by=0.05)
哪裏。這工作得很好!
但是當我試圖做F(箱),我得到這個荒謬的答案。這是正確的[-5,-3]範圍。
我的猜測是,當函數f檢查第一個條件時,它僅檢查了第一個值的矢量,所以對於(-3,5]範圍,它錯誤地只使用公式爲[-5,-3]。
我想獲得的方式來繪製這些點的曲線,但是當我使用的曲線函數,曲線繪製使用了錯誤的值,我們會得到通過使用F(箱)
可有人請告訴我如何解決這一問題?
你的猜測是正確的。如果你使用了&而不是&&以上就會清楚(if語句會產生一個警告)。請注意,您必須使用&爲下面的ifelse解決方案。 –