morales en us.es
2013-Oct-05  06:16 UTC
[R-es] mejora estética del resultado de una función
Hola, tengo una función que cuando mando imprimir el resultado me
salen los resultados unidos a un NULL que quiero quitar y no se como
hacerlo. 
Os pongo un ejemplo: 
foo<- function(x){
x2<- x^2
for(i in
1:length(x)){
print(cat("El cuadrado de",x[i],"es ", x2[i],"n"))
}
} 
x
<- c(2,4,6) 
foo(x) 
El resultado es el siguiente: 
El cuadrado de 2
es 4 
NULL
El cuadrado de 4 es 16 
NULL
El cuadrado de 6 es 36 
NULL
Saludos
 
	[[alternative HTML version deleted]]
Hola,
Es un problema de "cat()".
Mira esta alternativa:
foo<- function(x){
  x2<- x^2
  for(i in 1:length(x)){
    #print(cat("El cuadrado de",x[i],"es ",
x2[i],"n"))
    print(paste("El cuadrado de ",x[i]," es ", x2[i],"
n ", sep=""))
  }
}
x <- c(2,4,6)
foo(x)
> foo(x)
[1] "El cuadrado de 2 es 4 n "
[1] "El cuadrado de 4 es 16 n "
[1] "El cuadrado de 6 es 36 n "
El 5 de octubre de 2013 08:16, <morales@us.es> escribió:
>
>
> Hola, tengo una función que cuando mando imprimir el resultado me
> salen los resultados unidos a un NULL que quiero quitar y no se como
> hacerlo.
>
> Os pongo un ejemplo:
>
> foo<- function(x){
> x2<- x^2
> for(i in
> 1:length(x)){
> print(cat("El cuadrado de",x[i],"es ",
x2[i],"n"))
> }
> }
>
> x
> <- c(2,4,6)
>
> foo(x)
>
> El resultado es el siguiente:
>
> El cuadrado de 2
> es 4
> NULL
> El cuadrado de 4 es 16
> NULL
> El cuadrado de 6 es 36
> NULL
>
>
> Saludos
>
>
>         [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es
	[[alternative HTML version deleted]]
morales en us.es
2013-Oct-05  08:24 UTC
[R-es] mejora estética del resultado de una función
Muchas gracias por la rapidez en la respuesta. Funciona perfectamente. El 05/10/2013 10:09, Carlos Ortega escribió:> Hola,> Es un problema de "cat()". > Mira esta alternativa: > > foo > x2> for(i in 1:length(x)){ > #print(cat("El cuadrado de",x[i],"es ",x2[i],"n"))> print(paste("El cuadrado de ",x[i]," es ", x2[i]," n ",sep=""))> } > } > x > foo(x) > >> foo(x) > [1] "El cuadrado de 2es 4 n "> [1] "El cuadrado de 4 es 16 n " > [1] "El cuadrado de 6 es36 n "> > El 5 de octubre de 2013 08:16, <morales@us.es [3]>escribió:> >> Hola, tengo una función que cuando mando imprimir elresultado me>> salen los resultados unidos a un NULL que quiero quitary no se como>> hacerlo. >> >> Os pongo un ejemplo: >> >> foo x2 for(iin>> 1:length(x)){ >> print(cat("El cuadrado de",x[i],"es ",x2[i],"n"))>> } >> } >> >> x >> >> foo(x) >> >> El resultado es elsiguiente:>> >> El cuadrado de 2 >> es 4 >> NULL >> El cuadrado de 4es 16>> NULL >> El cuadrado de 6 es 36 >> NULL >> >> Saludos >> >>[[alternative HTML version deleted]]>> >>_______________________________________________>> R-help-es mailinglist>> R-help-es@r-project.org [1] >>https://stat.ethz.ch/mailman/listinfo/r-help-es [2]> > -- >Saludos,> Carlos Ortega > www.qualityexcellence.es [4]Links: ------ [1] mailto:R-help-es@r-project.org [2] https://stat.ethz.ch/mailman/listinfo/r-help-es [3] mailto:morales@us.es [4] http://www.qualityexcellence.es [[alternative HTML version deleted]]