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.

Combinar el contenido de diferentes columnas en una sola columna.

Estimado experto de Stack Overflow,

Estoy tratando de combinar un data.frame de 10 columnas en una sola columna y luego eliminar duplicados. Ahora lo estoy haciendo de una manera tonta, ¿alguien puede mostrarme cómo hacerlo con un bucle? Lo siento, soy nuevo en R. ¡Muchas gracias!

Los datos son muy simples y aquí hay solo un ejemplo

C1 c2 c3 c4 c5 c6 c7 c8 c9 c10
13 16 19 1 20 36 8 22 10 20
15 20 16

col1 <- as.character(allcol[,1])
col2 <- as.character(allcol[,2])
col3 <- as.character(allcol[,3])
col4 <- as.character(allcol[,4])
col5 <- as.character(allcol[,5])
col6 <- as.character(allcol[,6])
col7 <- as.character(allcol[,7])
col8 <- as.character(allcol[,8])
col9 <- as.character(allcol[,9])
col10 <- as.character(allcol[,10])
allcol <- c(col1,col2,col3,col4,col5,col6,col7,col8,col9,col10)`
uniqueallcol <- unique(allcol)

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Puede usar el siguiente código para combinar las 10 columnas en una columna y luego eliminar duplicados:

    allcol <- data.frame(C1 = c(13,15), 
                         C2 = c(16,20), 
                         C3 = c(19,16), 
                         C4 = c(1,NA), 
                         C5 = c(20,NA), 
                         C6 = c(36,NA), 
                         C7 = c(8,NA), 
                         C8 = c(22,NA), 
                         C9 = c(10,NA), 
                         C10 = c(20,NA))
    
    <h1>convertir todas las columnas a caracteres</h1>
    
    allcol <- sapply(allcol, as.character)
    
    <h1>combinar todas las columnas en una columna</h1>
    
    allcol <- unlist(allcol)
    
    <h1>eliminar duplicados</h1>
    
    uniqueallcol <- unique(allcol)
    

Comments are closed.