[R-es] reemplazar valores en texto según condiciones

juan manuel dias ju@m@d|@@ @end|ng |rom gm@||@com
Jue Mar 9 14:20:29 CET 2023


Hola,
Algo que me está pasando con esta función es lo siguiente:
A "p1" lo tengo que reemplazar por "p1_integra_datos" y a "p10" por
"p10_cuales_rep", pero como p10 contiene p1, y así pasa con otras preguntas
(p2 y p20, por ejemplo),
me los reemplaza en ambas, cuándo lo que busco es otra cosa.

reglas$condicion_final <- stri_replace_all_fixed(reglas$condicion_minus,
c("p1","p2","p3","p4","p5","p6","p7","p8","p9","p10"),
c("p1_integra_datos","p2_recop_dat","p3_como_recop","p4_bases_prop","p5_cuales_bases",
"p6_cuanto_integ_dat","p7_tec_integr_dat","p8_documen_pol_int","p9_report_dat","p10_cuales_rep"),
vectorize_all = FALSE)

Se les ocurre como resolverlo, estoy agregando un guión bajo después de
cada pregunta p1_ p10_ para que esto no pase, pero no se me ocurre
como hacerlo en el código.

Muchas gracias! Juan.

El mar, 7 mar 2023 a las 14:11, Carlos Ortega (<cof using qualityexcellence.es>)
escribió:

> Hola,
>
> Dentro de la librería "stringi" tienes la posibilidad de hacer lo que
> quieres de forma vectorizada y super eficiente.
> De esta forma..:
>
> library(stringi)
> texto_nuevo <- stri_replace_all_fixed(texto, c('p1', 'p2'),
> c('p1_integra_datos', 'p2_recop_dat'), vectorize_all = FALSE)
>
> Gracias,
> Carlos Ortega
> www.qualityexcellence.es
>
> El mar, 7 mar 2023 a las 18:04, juan manuel dias (<juamadias using gmail.com>)
> escribió:
>
>> Hola, como andan! Espero que bien!
>> Tengo dos bases, A) tiene una variable texto en la que deseo reemplazar
>> ciertas partes y B) tengo las condiciones para cambiar ese texto de la
>> base
>> A.
>>
>> Base A
>>
>> texto
>> si p1 = 1 o 2 = 1,3
>> si p1 = 3 o 4 = 1
>> si p1 = 5 = 0,7
>> si p1 = 5 = 0,7
>> si p1 = 6 = 0
>> si p1 = 7 = "no aplica"
>> si p2 = 1 & p3 = 1 = 0,5
>> si p2 = 1 & p3 = 2 = 0,7
>> si p2 = 1 & p3 = 4 o 3 = 1
>> si p2 = 1 & p3 = 5 = 0,5
>> si p2 = 1 & p3 = 6 = 0,5
>> si p2 = 2 = 0
>> si p2 = 3 = 0
>> si p2 = 4 = no aplica
>> Base B
>>
>> texto_a_reemplazar_en_base_A texto_final_en_A
>> p1 p1_integra_datos
>> p2 p2_recop_dat
>>
>> Lo estoy haciendo con condiciones IF ELSE pero se me hace un código muy
>> largo.
>> Estoy probando de armar un for que recorra base A y lo reemplace por el
>> texto que está en Base B.
>>
>> Si alguno se le ocurre más que agradecido!
>>
>> Gracias! Juan.
>>
>>         [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> R-help-es mailing list
>> R-help-es using r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>
>
>
> --
> Saludos,
> Carlos Ortega
> www.qualityexcellence.es
>

	[[alternative HTML version deleted]]



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