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.marcu...@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@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > -- Daniel [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es