Buenas,
Se me hace raro que la función no admita un parámetro para eso.
Una opción es hacerlo en dos pasos:
P1: Reemplaza p10, p20, ... por algo como q10, q20, ...
P2: Haz el reemplazo que quieres.
Igualmente puedes hacer el reemplazo que haces y en un segundo paso
reemplazar p10_integra_datos por p10_cuales_rep, ...
Un saludo, Manuel.
El jue, 09-03-2023 a las 10:20 -0300, juan manuel dias escribió:
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
(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 en 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
El mar, 7 mar 2023 a las 18:04, juan manuel dias (<juamadias en gmail.com
Hola, como andan! Espero que bien!
Tengo dos bases, A) tiene una variable texto en la que deseo
ciertas partes y B) tengo las condiciones para cambiar ese texto de
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
largo.
Estoy probando de armar un for que recorra base A y lo reemplace por
texto que está en Base B.
Si alguno se le ocurre más que agradecido!
Gracias! Juan.
[[alternative HTML version deleted]]