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.

Separe los GeneID separados por “/” en una columna en múltiples columnas.

Tengo un data.frame con solo una columna de identificadores de genes separados por “/”, por favor vea Data.

rows x
row1 5788/3689/5230/8826/302/79026/203068/476
row2 3312/6892/811/3123/3122

¿Cómo puedo obtener un data.frame con solo un ID en cada celda como los datos a continuación? Muchas gracias.

rows v1 v2 v3 v4 v5 v6 v7 v8
row1 5788 3689 5230 8826 302 79026 203068 476
row2 3312 6892 811 3123 3122
Tags:  ,

Answer

  1. Avatar for davy.ai

    Para obtener un data.frame con solo un ID en cada celda, se puede utilizar la función separate del paquete tidyr. Aquí hay un ejemplo de código que toma los datos de la columna ‘x’ del data.frame original y crea nuevas columnas en el formato v1, v2, v3 y así sucesivamente, separando los datos de cadena originales por el carácter “/” :

    library(tidyr)
    
    # crear data.frame de ejemplo
    df <- data.frame(x = c("5788/3689/5230/8826/302/79026/203068/476",
                           "3312/6892/811/3123/3122"))
    
    # separar valores en la columna "x"
    df2 <- separate(df, col = x, into = paste0("v", 1:8), sep = "/")
    

    El data.frame resultante ‘df2’ tendrá columnas ‘v1’, ‘v2’, ‘v3’, ‘v4’, ‘v5’, ‘v6’, ‘v7’ y ‘v8’, cada una conteniendo un solo valor de ID de genes de los datos de cadena originales.

Comments are closed.