[R-es] función cantidad mayor de valores

daniel daniel319 en gmail.com
Mar Jul 28 15:02:14 CEST 2015


Javier,

Siguiendo tu ejemplo (debe existir una mejor manera de hacerlo
vectorizando) el mensaje de error dice que espera que n_caracteres sea un
elemento atómico y en su lugar tiene varios. Con un for al inicio creo que
se soluciona:

 res <- NA
g3 <- function(n_caracteres, codigo_llega){
  for( i in 1:length(n_caracteres)) {
 if (n_caracteres[i] == 6)
   {
   resu <- substr(codigo_llega, start=0, stop=4)
  }
 else
   {
   resu <- codigo_llega
   }
   res <- c(res, resu)
  }
  res
}
g3(6,"Javier Marcuzzi")

n <- c(6,8)
cod <- c("Daniel Merino", "Javier Marcuzzi")

g3(n,cod)[-1] # alternativamente usar na.omit

Espero te sirva,

Daniel Merino


El 28 de julio de 2015, 0:08, <javier.ruben.marcuzzi en gmail.com> escribió:

> Señores
>
>
>
> Tengo un problema, donde use distintas alternativas y el informe de error
> es el mismo.
>
>
>
> Mi ultima alternativa es una función que copio y pego junto con un ejemplo
> de uso.
>
> > g3 <- function(n_caracteres, codigo_llega){
> +   if (n_caracteres == 6)
> +   {
> +     res <- substr(codigo_llega, start=0, stop=4)
> +   }
> +   else
> +   {
> +     res <- codigo_llega
> +   }
> +   res
> + }
> > g3(6,"Javier Marcuzzi")
> [1] "Javi"
>
> Pero cuándo uso los datos reales, el mensaje de error es el siguiente
> (copio y pego lo último que se ve junto con el mensaje)
>
>
> [9989] QS01EE01 QS01EE02 QS01EE03 QS01EE04 QS01EE05 QS       QS01
>  QS01E    QS01EX   QS01EX01 QS01EX02
> [10000] QS
>  [ reached getOption("max.print") -- omitted 846 entries ]
> 7148 Levels: QA QA01 QA01A QA01AA QA01AA01 QA01AA02 QA01AA03 QA01AA04
> QA01AA30 QA01AA51 QA01AB ... QV10XX03
> Warning message:
> In if (n_caracteres == 4) { :
>   the condition has length > 1 and only the first element will be used
>
>
> ¿Alguna idea sobre ese mensaje, aparentemente hasta el elemento 10.000
> funciona, luego tengo un problema (con la función que envío como con otras
> alternativas)
>
>
>
>
>
>
>
>
> Javier Rubén Marcuzzi
> Técnico en Industrias Lácteas
> Veterinario
>         [[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
>



-- 
Daniel

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es