Buenas a todos, Lo primero agradecer todas las respuesta sque tuve en el tema de Bootstrap dataframe, que por estar de baja no he podido agradecer. De aquel tema salió una sugerencia que me parece muy interesante y que a dia de hoy no soy capaz de hacer de una manera optima. Lo que quiero hacer es coger un dia al azar de todo el periodo, y a partuir de ese dia, coger por ejemplo los 20 dias siguientes. Recuerdo que para cogerlos al azar hacia lo siguiente: set.seed(121) final<-0 nuevo<-0 for(i in 1:100000){ nuevo<-sample(datos$pedidos,replace=T) final[i]<-sum(nuevo[1:20]) } donde aqui estoy cogiendo los 20 dias al azar. ¿Como haria para coger estos 20 dias seguidos?? Gracias Jesús [[alternative HTML version deleted]]
Hola. No sé si buscas algo parecido a esto datos <- data.frame(v1 = rnorm(1000, 2, 5), v2 = rnorm(1000) ) # numero de puntos aleatorios n.puntos <- 20 puntos <- replicate(n.puntos, sample(nrow(datos), 1, replace = T) ) puntos [1] 348 52 520 675 574 303 264 678 749 29 310 691 460 114 892 903 335 984 207 964 # muestras de 21 filas k <- 20 muestras <- lapply(puntos, function(x) datos[x:(x+k),]) # muestras es una lista con k data.frames, el primero serán los datos de la fila 348 hasta la368 muestras[[1]] v1 v2 348 -1.8855298 1.67022010 349 8.3539108 -0.75856401 350 3.1723330 -0.15722935 351 2.5871373 1.30962887 352 4.0801806 -0.22205638 353 8.7792425 1.92769400 354 1.8023941 0.60780632 355 -4.4542464 -0.30940621 356 1.4032584 -1.22315174 357 -1.1669957 -0.36789523 358 0.8834993 -0.51625882 359 -4.4173234 0.35013974 360 -6.2964411 0.64394556 361 0.4808418 1.41868648 362 0.6912628 -0.29357748 363 -4.1933794 0.90492395 364 -9.3685116 0.08371681 365 1.3305264 -0.18474498 366 2.9247997 1.24475278 367 8.8120307 0.48149808 368 8.0995250 1.30719019 El 31/03/16 a las 10:46, Jesús Para Fernández escribió:> Buenas a todos, > > Lo primero agradecer todas las respuesta sque tuve en el tema de Bootstrap dataframe, que por estar de baja no he podido agradecer. > > De aquel tema sali? una sugerencia que me parece muy interesante y que a dia de hoy no soy capaz de hacer de una manera optima. > > Lo que quiero hacer es coger un dia al azar de todo el periodo, y a partuir de ese dia, coger por ejemplo los 20 dias siguientes. > > Recuerdo que para cogerlos al azar hacia lo siguiente: > > set.seed(121) > final<-0 > nuevo<-0 > for(i in 1:100000){ > nuevo<-sample(datos$pedidos,replace=T) > final[i]<-sum(nuevo[1:20]) > } > > donde aqui estoy cogiendo los 20 dias al azar. > > ?Como haria para coger estos 20 dias seguidos?? > > Gracias > Jes?s > > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es[[alternative HTML version deleted]]
Es justo lo que buscaba. Muchas gracias. Una unica cosa, como puedo pasar a un data.frame el resultado muestras, del lapply???> To: r-help-es en r-project.org > From: canadasreche en gmail.com > Date: Thu, 31 Mar 2016 15:18:55 +0200 > Subject: Re: [R-es] Bootstrap de días seguidos > > Hola. > > No sé si buscas algo parecido a esto > > datos <- data.frame(v1 = rnorm(1000, 2, 5), v2 = rnorm(1000) ) > > # numero de puntos aleatorios > n.puntos <- 20 > puntos <- replicate(n.puntos, sample(nrow(datos), 1, replace = T) ) > > puntos > [1] 348 52 520 675 574 303 264 678 749 29 310 691 460 114 892 903 > 335 984 207 964 > > # muestras de 21 filas > k <- 20 > muestras <- lapply(puntos, function(x) datos[x:(x+k),]) > > # muestras es una lista con k data.frames, el primero serán los datos de > la fila 348 hasta la368 > muestras[[1]] > v1 v2 > 348 -1.8855298 1.67022010 > 349 8.3539108 -0.75856401 > 350 3.1723330 -0.15722935 > 351 2.5871373 1.30962887 > 352 4.0801806 -0.22205638 > 353 8.7792425 1.92769400 > 354 1.8023941 0.60780632 > 355 -4.4542464 -0.30940621 > 356 1.4032584 -1.22315174 > 357 -1.1669957 -0.36789523 > 358 0.8834993 -0.51625882 > 359 -4.4173234 0.35013974 > 360 -6.2964411 0.64394556 > 361 0.4808418 1.41868648 > 362 0.6912628 -0.29357748 > 363 -4.1933794 0.90492395 > 364 -9.3685116 0.08371681 > 365 1.3305264 -0.18474498 > 366 2.9247997 1.24475278 > 367 8.8120307 0.48149808 > 368 8.0995250 1.30719019 > > El 31/03/16 a las 10:46, Jesús Para Fernández escribió: > > Buenas a todos, > > > > Lo primero agradecer todas las respuesta sque tuve en el tema de Bootstrap dataframe, que por estar de baja no he podido agradecer. > > > > De aquel tema sali? una sugerencia que me parece muy interesante y que a dia de hoy no soy capaz de hacer de una manera optima. > > > > Lo que quiero hacer es coger un dia al azar de todo el periodo, y a partuir de ese dia, coger por ejemplo los 20 dias siguientes. > > > > Recuerdo que para cogerlos al azar hacia lo siguiente: > > > > set.seed(121) > > final<-0 > > nuevo<-0 > > for(i in 1:100000){ > > nuevo<-sample(datos$pedidos,replace=T) > > final[i]<-sum(nuevo[1:20]) > > } > > > > donde aqui estoy cogiendo los 20 dias al azar. > > > > ?Como haria para coger estos 20 dias seguidos?? > > > > Gracias > > Jes?s > > > > > > > > > > [[alternative HTML version deleted]] > > > > > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es en r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es[[alternative HTML version deleted]]
Hola, Yo lo que he entendido es que quieres generar los 20 días siguientes a una fecha dada. Una forma de hacerlo es así:> as.Date("2000-01-01") + 0:10[1] "2000-01-01" "2000-01-02" "2000-01-03" "2000-01-04" "2000-01-05" "2000-01-06" [7] "2000-01-07" "2000-01-08" "2000-01-09" "2000-01-10" "2000-01-11" Más detalles aquí: http://stackoverflow.com/questions/7536306/creating-a-unique-sequence-of-dates Saludos, Carlos Ortega www.qualityexcellence.es El 31 de marzo de 2016, 10:46, Jesús Para Fernández < j.para.fernandez en hotmail.com> escribió:> Buenas a todos, > > Lo primero agradecer todas las respuesta sque tuve en el tema de Bootstrap > dataframe, que por estar de baja no he podido agradecer. > > De aquel tema salió una sugerencia que me parece muy interesante y que a > dia de hoy no soy capaz de hacer de una manera optima. > > Lo que quiero hacer es coger un dia al azar de todo el periodo, y a > partuir de ese dia, coger por ejemplo los 20 dias siguientes. > > Recuerdo que para cogerlos al azar hacia lo siguiente: > > set.seed(121) > final<-0 > nuevo<-0 > for(i in 1:100000){ > nuevo<-sample(datos$pedidos,replace=T) > final[i]<-sum(nuevo[1:20]) > } > > donde aqui estoy cogiendo los 20 dias al azar. > > ¿Como haria para coger estos 20 dias seguidos?? > > Gracias > Jesús > > > > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]