I have a single vector (call it t1) with a series of observations. I want to create a set of new vectors by popping the first observation from t1 (and so on for subsequent near-copies). But I want to keep the vectors the same length so I can add them to a data frame later.

I was able to make it work as follows:

```
t1 <- c(1, 2, 3)
t2 <- t1[-1]
t3 <- t2[-1]

t2[length(t2)+1] <- 0

t3[length(t3)+1] <- 0
t3[length(t3)+1] <- 0

t.all <- cbind(as.data.frame(t1), as.data.frame(t2), as.data.frame(t3))

t.all

  t1 t2 t3
1  1  2  3
2  2  3  0
3  3  0  0

```

But this is clumsy and it's going to be tedious if I want to create a large number of columns. How can I keep the vectors the same length (or solve this problem another way)?