## Question:

I'm doing it as follows:

```
temp <- data.frame(ano = c(1997,1999,2001,2003,2005,2007,2009,2013,2019))
a <- (temp[2,1]-temp[1,1])+1
b <- (temp[3,1]-temp[1,1])+1
c <- (temp[4,1]-temp[1,1])+1
d <- (temp[5,1]-temp[1,1])+1
f <- (temp[6,1]-temp[1,1])+1
g <- (temp[7,1]-temp[1,1])+1
h <- (temp[8,1]-temp[1,1])+1
i <- (temp[9,1]-temp[1,1])+1
temp["t"] <- c(1,a,b,c,d,f,g,h,i)
```

I arrive at the following result:

```
ano t
1997 1
1999 3
2001 5
2003 7
2005 9
2007 11
2009 13
2013 17
2019 23
```

How do I optimize this process, without having to always declare the variables? Is there any way to do these calculations directly in the `data.frame`

in a way that the first line is always `t=1`

and the others following the formula in column `t`

of the `data.frame`

:

```
linha2=(ano2-ano1)+1
linha3=(ano3-ano1)+1
```

and so on.

How can this process be automatic? No `t`

column variable declarations, just declaring the years of the first column, so it can be used in other entries in the `ano`

column.

## Answer:

`R`

is a language that allows you to do vector calculations, so just:

```
temp$t <- (temp$ano - 1997) +1
```

so that the account is applied to all rows in your `data.frame`

.