Juan Abasolo
2020-Jan-03 07:20 UTC
[R-es] Error en salida de lubridate::seconds_to_period() en Rmarkdown
Buas y feliz año y decada nueva, compañeRos, Me estoy encontrando con un problema tonto que no consigo resolver. Explico, tengo un dato que necesito sacar en un documento con codigo on line y no me saca el resultado de consola. dato <- 2272.13 round(lubridate::seconds_to_period(seconds(dato))), 0) En consola me da: "37M 52S" Pero en el documento ```Rmarkdown + Duración total `r round(lubridate::seconds_to_period(seconds(sum(dato))), 0)` ``` Me da: - *Duración total 52* Lo de envolverlo en seconds() lo puse para ver si funciona, y no hay cambio. Daría lo mismo seconds_to_period(dato), pero lo dejé para mostrar que lo tomé en cuenta. --- En realidad y de momento, es un solo dato que lo puedo copiar a mano, pero la curiosidad mató al gato y a mí me pone nervioso Que sigan bien -- Juan Abasolo Hizkuntzaren eta Literaturaren Didaktika Saila | EUDIA ikerketa taldea Bilboko Hezkuntza Fakultatea Euskal Herriko Unibertsitatea UPV/EHU Sarriena auzoa z/g 48940 - Leioa (Bizkaia) T: (+34) 94 601 7567 Telegram: @JuanAbasolo Skype: abasolo72 Tutoretza ordutegia <https://labur.eus/JAbasolo-tutoretzak> [[alternative HTML version deleted]]
Carlos Ortega
2020-Jan-03 08:21 UTC
[R-es] Error en salida de lubridate::seconds_to_period() en Rmarkdown
Hola, Feliz Año!. No sé porqué se produce, tiene pinta de bug.. pero puedes forzar a que la salida sea como quieres así: + Duración total *`r sprintf('%2.0fM : %2.0fS', round(minute(seconds_to_period(dato)),0), round(second(seconds_to_period(dato)),0) )`* Saludos, Carlos Ortega www.qualityexcellence.es El vie., 3 ene. 2020 a las 8:20, Juan Abasolo (<juan.abasolo en ehu.eus>) escribió:> Buas y feliz año y decada nueva, compañeRos, > > Me estoy encontrando con un problema tonto que no consigo resolver. > > Explico, tengo un dato que necesito sacar en un documento con codigo on > line y no me saca el resultado de consola. > > dato <- 2272.13 > > round(lubridate::seconds_to_period(seconds(dato))), 0) > > En consola me da: > "37M 52S" > > Pero en el documento > > ```Rmarkdown > > + Duración total `r round(lubridate::seconds_to_period(seconds(sum(dato))), > 0)` > > ``` > > Me da: > > - *Duración total 52* > > Lo de envolverlo en seconds() lo puse para ver si funciona, y no hay > cambio. Daría lo mismo seconds_to_period(dato), pero lo dejé para mostrar > que lo tomé en cuenta. > > --- > En realidad y de momento, es un solo dato que lo puedo copiar a mano, pero > la curiosidad mató al gato y a mí me pone nervioso > > Que sigan bien > > -- > Juan Abasolo > > Hizkuntzaren eta Literaturaren Didaktika Saila | EUDIA ikerketa taldea > Bilboko Hezkuntza Fakultatea > Euskal Herriko Unibertsitatea > UPV/EHU > > Sarriena auzoa z/g 48940 - Leioa (Bizkaia) > > T: (+34) 94 601 7567 > Telegram: @JuanAbasolo > Skype: abasolo72 > > Tutoretza ordutegia <https://labur.eus/JAbasolo-tutoretzak> > > [[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]]
Emilio L. Cano
2020-Jan-03 08:31 UTC
[R-es] Error en salida de lubridate::seconds_to_period() en Rmarkdown
Hola, Creo que es porque los chunks ?en línea? realmente hacen ?cat? de la expresión que hay dentro. Entonces:> cat(round(lubridate::seconds_to_period(lubridate::seconds(dato))), 0)52 0 Si lo pasas a carácter en el chunk en línea creo que te saldrá bien: + Duración total `r as.character(round(lubridate::seconds_to_period(lubridate::seconds(sum(dato))), 0))` O cualquier función que dé formato como texto, como ha sugerido Carlos. Un saludo, Emilio L. Cano http://emilio.lcano.com> El 3 ene 2020, a las 8:20, Juan Abasolo <juan.abasolo en ehu.eus> escribió: > > Buas y feliz año y decada nueva, compañeRos, > > Me estoy encontrando con un problema tonto que no consigo resolver. > > Explico, tengo un dato que necesito sacar en un documento con codigo on > line y no me saca el resultado de consola. > > dato <- 2272.13 > > round(lubridate::seconds_to_period(seconds(dato))), 0) > > En consola me da: > "37M 52S" > > Pero en el documento > > ```Rmarkdown > > + Duración total `r round(lubridate::seconds_to_period(seconds(sum(dato))), > 0)` > > ``` > > Me da: > > - *Duración total 52* > > Lo de envolverlo en seconds() lo puse para ver si funciona, y no hay > cambio. Daría lo mismo seconds_to_period(dato), pero lo dejé para mostrar > que lo tomé en cuenta. > > --- > En realidad y de momento, es un solo dato que lo puedo copiar a mano, pero > la curiosidad mató al gato y a mí me pone nervioso > > Que sigan bien > > -- > Juan Abasolo > > Hizkuntzaren eta Literaturaren Didaktika Saila | EUDIA ikerketa taldea > Bilboko Hezkuntza Fakultatea > Euskal Herriko Unibertsitatea > UPV/EHU > > Sarriena auzoa z/g 48940 - Leioa (Bizkaia) > > T: (+34) 94 601 7567 > Telegram: @JuanAbasolo > Skype: abasolo72 > > Tutoretza ordutegia <https://labur.eus/JAbasolo-tutoretzak> > > [[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]]
Juan Abasolo
2020-Jan-03 15:46 UTC
[R-es] Error en salida de lubridate::seconds_to_period() en Rmarkdown
Muchas gracias, Carlos y Emilio! Los dos modos lo resuelven. Aprovecho también para aprender. Más no sea intentarlo. Hau idatzi du Emilio L. Cano (emilopezcano en gmail.com) erabiltzaileak (2020 urt. 3, or. (09:31)):> Hola, > > Creo que es porque los chunks ?en línea? realmente hacen ?cat? de la > expresión que hay dentro. Entonces: > > > cat(round(lubridate::seconds_to_period(lubridate::seconds(dato))), 0) > 52 0 > > Si lo pasas a carácter en el chunk en línea creo que te saldrá bien: > > > + Duración total `r as.character(round(lubridate::seconds_to_period(lubridate::seconds(sum(dato))), > 0))` > > O cualquier función que dé formato como texto, como ha sugerido Carlos. > > Un saludo, > > Emilio L. Cano > http://emilio.lcano.com > > > > El 3 ene 2020, a las 8:20, Juan Abasolo <juan.abasolo en ehu.eus> escribió: > > Buas y feliz año y decada nueva, compañeRos, > > Me estoy encontrando con un problema tonto que no consigo resolver. > > Explico, tengo un dato que necesito sacar en un documento con codigo on > line y no me saca el resultado de consola. > > dato <- 2272.13 > > round(lubridate::seconds_to_period(seconds(dato))), 0) > > En consola me da: > "37M 52S" > > Pero en el documento > > ```Rmarkdown > > + Duración total `r round(lubridate::seconds_to_period(seconds(sum(dato))), > 0)` > > ``` > > Me da: > > - *Duración total 52* > > Lo de envolverlo en seconds() lo puse para ver si funciona, y no hay > cambio. Daría lo mismo seconds_to_period(dato), pero lo dejé para mostrar > que lo tomé en cuenta. > > --- > En realidad y de momento, es un solo dato que lo puedo copiar a mano, pero > la curiosidad mató al gato y a mí me pone nervioso > > Que sigan bien > > -- > Juan Abasolo > > Hizkuntzaren eta Literaturaren Didaktika Saila | EUDIA ikerketa taldea > Bilboko Hezkuntza Fakultatea > Euskal Herriko Unibertsitatea > UPV/EHU > > Sarriena auzoa z/g 48940 - Leioa (Bizkaia) > > T: (+34) 94 601 7567 > Telegram: @JuanAbasolo > Skype: abasolo72 > > Tutoretza ordutegia <https://labur.eus/JAbasolo-tutoretzak> > > [[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 > > >-- Juan Abasolo Hizkuntzaren eta Literaturaren Didaktika Saila | EUDIA ikerketa taldea Bilboko Hezkuntza Fakultatea Euskal Herriko Unibertsitatea UPV/EHU Sarriena auzoa z/g 48940 - Leioa (Bizkaia) T: (+34) 94 601 7567 Telegram: @JuanAbasolo Skype: abasolo72 Tutoretza ordutegia <https://labur.eus/JAbasolo-tutoretzak> [[alternative HTML version deleted]]