Pode fazer com laço ou com funções da família apply:

matriz<-matrix(NA,3,4)## numero de linhas é o numero de dias.
colnames(matriz)<-c("open","close","low","higth")
 i<-1
 for( x in unique(AA$X37988)){# x=37988
      AA1<-subset(AA,AA$X37988==x)
         matriz[i,1]<-AA1[1,7]
         matriz[i,2]<-AA1[nrow(AA1),7]
         matriz[i,3]<-min(AA1[,7])
         matriz[i,4]<-max(AA1[,7])
       i=i+1
   }
 matriz
 #ou
 t(sapply(split(AA,AA$X37988),function(AA1)c(AA1[1,7],
                                           AA1[nrow(AA1),7],
                                           min(AA1[,7]),
                                           max(AA1[,7]))))


      [,1]  [,2] [,3]  [,4]
37988 38.0 38.05 38.0 38.06
37991 37.9 37.90 37.9 37.90
37992 38.9 38.90 38.9 38.90

Att

Em 11 de novembro de 2015 13:00, Michelle Bau Graczyk <mbgraczyk@gmail.com> escreveu:
Caros, bom dia…

Estou com uma dúvida bem boba mas não consigo resolver!

Eu tenho um data frame que a primeira coluna é a data, a segunda é o horário e as outras seis são dados como preço e volume.
Os dias estão em forma numérica e eu os deixei assim porque achei que seria mais fácil fazer o laço. O objetivo é que para cada daia eu ache o valor inicial e final do preço assim como o seu máximo e seu mínimo. Estou tendo problemas somente em trocar de dia.
Abaixo segue um pedaço reduzido do data frame e o código. 
Alguém poderia me dar uma dica?
Muito obrigada!
AA<-read.table("/Users/bau/Dropbox/AA.N_ExemploReduzido.csv",header=TRUE
+                ,dec=".",as.is=TRUE, sep=",")
> #AA
> dput(AA)
structure(list(X37988 = c(37988L, 37988L, 37988L, 37988L, 37988L, 
37988L, 37991L, 37991L, 37991L, 37991L, 37992L, 37992L, 37992L, 
37992L), X34244.059 = c(34251.038, 34263.36, 34296.73, 34301.369, 
34318.91, 34324.707, 34398.295, 34400.585, 34416.511, 34425.892, 
34250.443, 34252.127, 34266.757, 34273.928), X.1 = c(-1, -1, 
38.05, 38.06, 38.06, 38.04, 37.8, 37.8, 37.85, 37.85, -1, -1, 
38.85, 38.85), X.1.1 = c(-1L, -1L, 32L, 2L, 4L, 1L, 50L, 50L, 
1L, 1L, -1L, -1L, 1L, 1L), X.1.2 = c(-1, -1, 38.08, 38.08, 38.07, 
38.07, 38.3, 38.3, 37.95, 37.95, -1, -1, 38.95, 38.95), X.1.3 = c(-1L, 
-1L, 1L, 1L, 1L, 1L, 203L, 203L, 1L, 1L, -1L, -1L, 1L, 1L), X38 = c(38, 
38, 38.05, 38.06, 38.06, 38.05, 37.9, 37.9, 37.9, 37.9, 38.9, 
38.9, 38.9, 38.9), X55900 = c(600L, 5000L, 6000L, 1500L, 500L, 
4500L, 161800L, 500L, 3700L, 1100L, 125000L, 1100L, 400L, 1000L
)), .Names = c("X37988", "X34244.059", "X.1", "X.1.1", "X.1.2", 
"X.1.3", "X38", "X55900"), class = "data.frame", row.names = c(NA, 
-14L))
> matriz<-matrix(NA,230,4)## numero de linhas é o numero de dias.
> colnames(matriz)<-c("open","close","low","higth")
> i<-1
> for( x in 37988:38000){
+   
+   
+   #x<-37988
+   
+   if(AA$data==x){
+     AA1<-subset(AA,AA$data==x)
+     matriz[i,1]<-AA1[1,7]
+     matriz[i,2]<-AA1[nrow(AA1),7]
+     matriz[i,3]<-min(AA1$last)
+     matriz[i,4]<-max(AA1$last)
+     
+     i=i+1
+   }
+ AA<-read.table("/Users/bau/Dropbox/AA.N_ExemploReduzido.csv",header=TRUE
+                ,dec=".",as.is=TRUE, sep=",")
+ #AA
+ dput(AA)
+ matriz<-matrix(NA,3,4)## numero de linhas é o numero de dias.
+ colnames(matriz)<-c("open","close","low","higth")
+ i<-1
+ for( x in 37988:37992){
+   
+   
+   
+   if(AA$data==x){
+     AA1<-subset(AA,AA$data==x)
+     matriz[i,1]<-AA1[1,7]
+     matriz[i,2]<-AA1[nrow(AA1),7]
+     matriz[i,3]<-min(AA1$last)
+     matriz[i,4]<-max(AA1$last)
+     
+     i=i+1
+   }
+ }
+ matriz
+ write.table(matriz,"Matriz4ParametrosPreço.txt")

_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.