R Как поставить За результат в способе построить - PullRequest
0 голосов
/ 21 марта 2020

Я пытаюсь построить график с переменными z и y

z=seq(-10,5,length=100)

y=for (x in seq(-10,5,length=100))
if( x <= -3 ) {
print(4)
} else if( x > -3 & x <= 2 ) {
print(-x+1)
} else {
print(x^2+1)
}
plot(z,y)

, но его ошибка из-за того, что переменная y пуста, как поместить результат y в вещи, чтобы я мог использовать его для построения?

Ответы [ 2 ]

1 голос
/ 21 марта 2020

Вы можете использовать ifelse, который векторизован.

z <- seq(-10,5,length.out = 100)
y <- ifelse(z <= -3, 4, ifelse(z >= -3 & z <= 2, -z + 1, z^2 + 1))
plot(z, y)
1 голос
/ 21 марта 2020

Может быть, вы можете попробовать for l oop, как показано ниже

y <- z
for (k in seq_along(z)) {
  x <- z[k]
  if( x <= -3 ) {
    y[k] <- 4
  } else if( x > -3 & x <= 2 ) {
    y[k] <- -x+1
  } else {
    y[k] <- x^2+1
  }
}

plot(z,y)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...