Другой, часто разумный шаг к пониманию того, что делает конкретная строка кода или функция, - это отобразить ее на графике;поскольку ваш цикл while
просто увеличивает c
каждый шаг, а затем вычисляет c1
и c2
на основе этих c
значений, мы можем написать две функции
func_c1 <- function(c) c - (c > 2) * 2
func_c2 <- function(c) 1 * (c < 3) + 2 * (c > 2)
, которые возвращают c1
и c2
соответственно для разных значений c
.
Затем мы можем построить c1
и c2
для разных значений c
;ваш while
цикл учитывает c = 1:4
:
data.frame(c = 1:4, c1 = func_c1(1:4), c2 = func_c2(1:4)) %>%
gather(param, val, -c) %>%
ggplot(aes(c, val, colour = param)) +
geom_point() +
geom_line()