问题描述
a <- function(x) {ifelse(( x < -1),ifelse((-1 < x & x < 2),(x^3 + 1)/9,ifelse((x > 2),1,NA))) }
plot(a,xlim=c(-5,5),ylim = c(-4,7),col = "red")
abline(v = 0,h = 0)
解决方法
您的代码几乎是正确的,但是添加空格使其可读性会有所帮助。如@Phil所述,将触发该错误,因为R将x<-1
解释为“将1的值分配给x”。您正在使用plot命令的版本来绘制函数,该版本已通过curve
函数记录(请参见?curve
)。您可能应该包含from=
和to=
参数,但是该函数将使用不带xlim值的值:
a <- function(x){ ifelse(( x < -1),ifelse((-1 < x & x < 2),(x^3 + 1)/9,ifelse((x > 2),1,NA))) }
plot(a,from=-5,to=5,n=201,xlim=c(-5,5),ylim = c(-4,7),col = "red")
abline(v = 0,h = 0,lty=3)
请注意plot()
命令的添加。我将abline
更改为使用虚线,这使该功能更易于查看。添加n=201
会增加直线中的点数,因此曲线更平滑,线段之间的间隙更小。