es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo reemplazar ‘numérico’ y ‘.’ al mismo tiempo

En el dataframe de R, quiero reemplazar todos los valores numéricos y ‘.’ por ‘otro’.
Aquí está el código, hay dos métodos (quiero dos formas de resolverlo).
¿Alguien puede ayudar? ¡Gracias!

library(tidyverse)

test_data <- data.frame(category = c('.', '2.1', '2.33', 'A', 'B'))

# Método 1
test_data %>% mutate(category = str_replace_all(category, "[^A-B]", "otro"))

# Método 2
test_data %>% mutate(category = str_replace_all(category, "(.)|(\\d.*)", "otro"))
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Hay dos formas de reemplazar todas las entradas numéricas y ‘.’ en un dataframe de R por ‘other’:

    Método 1:
    Utilizando la función str_replace_all() del paquete stringr, podemos reemplazar todos los caracteres que no sean A o B (que incluyen valores numéricos y ‘.’) por ‘other’.

    El código para este método es:

    library(tidyverse)
    
    test_data <- data.frame(category = c('.', '2.1', '2.33', 'A', 'B'))
    
    test_data %>% mutate(category = str_replace_all(category, "[^A-B]", "other"))
    

    Método 2:
    Utilizando la misma función str_replace_all(), podemos definir los caracteres que queremos reemplazar como una ‘.’ o cualquier dígito y reemplazarlos por ‘other’.

    El código para este método es:

    library(tidyverse)
    
    test_data <- data.frame(category = c('.', '2.1', '2.33', 'A', 'B'))
    
    test_data %>% mutate(category = str_replace_all(category, "(\\d*\\.)|\\.", "other"))
    

    Ambos métodos producirán el mismo resultado, reemplazando todas las entradas numéricas y ‘.’ por ‘other’ en la columna ‘category’ del dataframe test_data.

Comments are closed.