I want to make sort of sliding window, putting a variable of start and end position on each iteration.

But I’ve noticed calculation inside of square brackets does not work.

```
t <- c(1, 2, 3, 4, 5)
i <- 1
t[i:i + 3]
```

this gives "4".

Seems like index is calculated but start value of 1 is ignored.

If I introduce j variable, then it works as expected

```
t <- c(1, 2, 3, 4, 5)
i <- 1
j <- i + 3
t[i: j]
```

So the question is what’s going on in first piece of code?

### >Solution :

In your code the addition is done before indexing:

Try this:

```
t <- c(1, 2, 3, 4, 5)
i <- 1
t[(i):(i + 3)]
```

```
[1] 1 2 3 4
```