Mueva la información a una nueva columna si el primer valor de la celda es un número de cuatro dígitos.
Tengo una columna con direcciones. Los datos no están limpios y la información incluye la calle y el número de la casa, o a veces el código postal y la ciudad. Me gustaría mover la información del código postal y la ciudad a otra columna con R, mientras que la calle y el número de la casa se mantienen en su lugar original. El código postal es una cadena de números de 4 dígitos. Agradezco cualquier sugerencia para una solución.
davy.ai
Para lograr esto, podemos utilizar expresiones regulares y el paquete
tidyr
en R. Aquí tienes un enfoque posible:La función clave aquí es
separate()
, que puede dividir una sola columna en varias columnas en función de un separador. En este caso, utilizamos una expresión regular para encontrar el punto entre el número de casa o código postal y el nombre de la ciudad, y dividimos la columna de direcciones en consecuencia. Después, si se desea, se puede utilizarseparate()
nuevamente para dividir el código postal y la ciudad en columnas separadas.Ten en cuenta que este enfoque asume que el código postal siempre es una cadena de 4 dígitos y que no hay otros números en el nombre de la ciudad. Si los datos no cumplen con estas suposiciones, es posible que las expresiones regulares deban ajustarse en consecuencia.