Here is a simple made up data set: 

```
df1 <- data.frame(x = c(1,2,3),
            y = c(4,6,8),
            z= c(1, 6, 7))

df2 <- data.frame(x = c(3,5,6),
              y = c(3,4,9),
              z= c(6, 7, 7))

```

What I want to do is to create a new variable "a" which is just the sum of all three variables (x,y,z)

Instead of doing this separately for each dataframe I thought it would be more efficient to just create a loop. So here is the code I wrote:

```
my.list<- list(df1, df2)

for (i in 1:2) {
my.list[i]$a<- my.list[i]$x +my.list[i]$y + my.list[i]$z

}

```

or alternatively 

```
for (i in 1:2) {
my.list[i]<- transform(my.list[i], a= x+ y+ z)

}

```

In both cases it does not work and the error "number of items to replace is not a multiple of replacement length" is returned.

What would be the best solution to writing a loop code where I can loop through dataframes?