r - Plotting in a for loop: Why can't I subtract from the counter? -
why following code plot points @ 1:10 , not @ 0:9 on x axis? (i know can code differently solve problem, nevertheless, wish know.)
y <- rep(1,10) (i in 1:10) { if (i == 1) { plot(y[i]~(i-1),pch = 14, ylim = c(0,2), xlim=c(0,11)) } else {points(y[i]~(i-1), pch = 14) } }
you have use i() (as-is) formula construct:
y <- rep(1,10) (i in 1:10) { if (i == 1) { plot(y[i]~i(i-1),pch = 14, ylim = c(0,2), xlim=c(0,11)) } else {points(y[i]~i(i-1), pch = 14) } } this (according ?i) because arithmetic operators ("+", "-", "*" , "^") inside formulae interpreted formula operators (for adding/dropping terms or creating interactions) rather arithmetic operators.
you obtain same changing plot calls to: plot(i-1,y[i],...) out of formula mode.
Comments
Post a Comment