Pessoal, preciso de uma ajuda...

Meus dados são esses "a21", nele tenho a observação de 219 vacas (n_vaca), que estão numeradas de maneira aleatória. As vacas foram separadas em 3 grupos, onde em cada grupo aplicaram um tratamento diferente. Esse tratamento foi aplicado em forma de injeções (17 injeções) e entre uma injeção e outra, temos 14 dias de intervalo. A variável de interesse é "producao"
> head(a21)
   n_vaca n_lactacao trat pri_multiparas n_injecao dia_ciclo dia_exp producao      saude
8    1731          3    1              2         0         1     -13     45.1    healthy
9    1731          3    1              2         0         2     -12     47.8    healthy
10   1731          3    1              2         0         3     -11     45.5    healthy
11   1731          3    1              2         0         4     -10     45.2    healthy
12   1731          3    1              2         0         5      -9     47.4 enrollment
13   1731          3    1              2         0         6      -8     48.3 enrollment

# Aqui estou criando um subconjunto, onde tenho todas as informações da vaca 1731:
> (vaca1731<- subset(a21, a21$n_vaca==1731)); dim(vaca1731)
    n_vaca n_lactacao trat pri_multiparas n_injecao dia_ciclo dia_exp producao      saude
8     1731          3    1              2         0         1     -13     45.1    healthy
9     1731          3    1              2         0         2     -12     47.8    healthy
10    1731          3    1              2         0         3     -11     45.5    healthy
11    1731          3    1              2         0         4     -10     45.2    healthy
12    1731          3    1              2         0         5      -9     47.4 enrollment
13    1731          3    1              2         0         6      -8     48.3 enrollment
14    1731          3    1              2         0         7      -7     46.4 enrollment
15    1731          3    1              2         0         8      -6     47.9 enrollment
16    1731          3    1              2         0         9      -5     50.3 enrollment
17    1731          3    1              2         0        10      -4     50.8 enrollment
18    1731          3    1              2         0        11      -3     47.9 enrollment
19    1731          3    1              2         0        12      -2     46.2       heat
20    1731          3    1              2         0        13      -1     50.8    healthy
21    1731          3    1              2         0        14       0     45.8    healthy
22    1731          3    1              2         1         1       1     50.5    healthy
23    1731          3    1              2         1         2       2     49.0    healthy
24    1731          3    1              2         1         3       3     48.8    healthy
25    1731          3    1              2         1         4       4     53.9    healthy
26    1731          3    1              2         1         5       5     45.4    healthy
27    1731          3    1              2         1         6       6     38.6    healthy
28    1731          3    1              2         1         7       7     41.3    healthy
29    1731          3    1              2         1         8       8     50.2    healthy
30    1731          3    1              2         1         9       9     50.2    healthy
31    1731          3    1              2         1        10      10     50.4    healthy
32    1731          3    1              2         1        11      11     49.9    healthy
33    1731          3    1              2         1        12      12     50.1    healthy
34    1731          3    1              2         1        13      13     52.0    healthy
35    1731          3    1              2         1        14      14     47.8    healthy
36    1731          3    1              2         2         1      15     50.0    healthy
37    1731          3    1              2         2         2      16     49.7    healthy
38    1731          3    1              2         2         3      17     50.4    healthy
39    1731          3    1              2         2         4      18     48.9    healthy
40    1731          3    1              2         2         5      19     49.5    healthy
41    1731          3    1              2         2         6      20     48.8    healthy
42    1731          3    1              2         2         7      21     56.3    healthy
43    1731          3    1              2         2         8      22     52.1    healthy
44    1731          3    1              2         2         9      23     51.6    healthy
45    1731          3    1              2         2        10      24     50.5    healthy
46    1731          3    1              2         2        11      25     46.0    healthy
47    1731          3    1              2         2        12      26     53.7    healthy
48    1731          3    1              2         2        13      27     51.7    healthy
49    1731          3    1              2         2        14      28     49.1    healthy
50    1731          3    1              2         3         1      29     51.9    healthy
51    1731          3    1              2         3         2      30     51.4    healthy
...
256   1731          3    1              2        17        11     235     21.2    lamness
257   1731          3    1              2        17        12     236     19.4    lamness
258   1731          3    1              2        17        13     237     23.5    lamness
259   1731          3    1              2        17        14     238     19.9    lamness
[1] 251   9


# Para simplificar, considere que temos apenas 10 vacas:
#--------------------------------------------
> vacas <- c(1731, 2090, 2652, 2945, 2946, 3246, 3413, 3593, 3878, 3882)  # é a numeração das vacas

# O que eu quero fazer com esses dados é o seguinte:
v1<- subset(a21, a21$n_vaca==vacas[1]); dim(v1)
v2<- subset(a21, a21$n_vaca==vacas[2]); dim(v2)
v3<- subset(a21, a21$n_vaca==vacas[3]); dim(v3)
v4<- subset(a21, a21$n_vaca==vacas[4]); dim(v4)
v5<- subset(a21, a21$n_vaca==vacas[5]); dim(v5)
v6<- subset(a21, a21$n_vaca==vacas[6]); dim(v6)
v7<- subset(a21, a21$n_vaca==vacas[7]); dim(v7)
v8<- subset(a21, a21$n_vaca==vacas[8]); dim(v8)
v9<- subset(a21, a21$n_vaca==vacas[9]); dim(v9)
v10<- subset(a21, a21$n_vaca==vacas[10]); dim(v10)

b<- c(
tapply(v1$producao, v1$dia_ciclo, mean),
tapply(v2$producao, v2$dia_ciclo, mean),
tapply(v3$producao, v3$dia_ciclo, mean),
tapply(v4$producao, v4$dia_ciclo, mean),
tapply(v5$producao, v5$dia_ciclo, mean),
tapply(v6$producao, v6$dia_ciclo, mean),
tapply(v7$producao, v7$dia_ciclo, mean),
tapply(v8$producao, v8$dia_ciclo, mean),
tapply(v9$producao, v9$dia_ciclo, mean),
tapply(v10$producao, v10$dia_ciclo, mean))
#--------------------------------------------

Ainda estou engatinhando em questão de programação no R, como poderia fazer um looping com essas linhas de comando, pois preciso fazer isso para as 219 vacas!

desde já, muito obrigada!
Simone
 
***---***---***---***---***---***---***---***---***---***---***---***---***
*  Simone Daniela Sartorio
*   Professora Adjunta I no CCA/UFSCar, Araras/SP.
* Doutora e Mestre em Estatística e Experimentação Agronômica - ESALQ/USP.
*   Licenciada em Matemática - UNESP/Rio Claro.
***---***---***---***---***---***---***---***---***---***---***---***---***
                                                                                      Tenha um bom dia! ;)