Home Forum Statistica con R aggiungere colonne in specifiche posizioni nella matrice

This topic contains 2 replies and has 2 voices.

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #4947

    giupar93
    Participant

    Buongiorno a tutti, ho la necessità di aggiungere delle colonne all’interno di una matrice a specifici indici(che ho già acquisito precedentemente). Faccio un esempio, ho questa matrice:

    
    5 6 7 8 9 
    7 2 3 0 1

    vorrei inserire 3 colonne alla posizione 1,3,5 ottenendo la seguente matrice:

    
    NA 5 6 NA 7 8 NA 9 
    NA 7 2 NA 3 0 NA 1

    come posso fare una cosa del genere?

    grazie mille!

    #4948
    Davide Massidda
    Davide Massidda
    Moderator

    Purtroppo R è poco flessibile in questo tipo di operazioni e non sono mai riuscito a trovare una maniera svelta per farlo. Questa è una possibile soluzione.

    Prima costruisco la matrice x:

    > x <- matrix(c(5,6,7,8,9, 7,2,3,0,1), nrow=2, byrow=T)
    > x
         [,1] [,2] [,3] [,4] [,5]
    [1,]    5    6    7    8    9
    [2,]    7    2    3    0    1

    Poi costruisco la nuova matrice x.new:

    > x.new <- matrix(nrow=2, ncol=ncol(x)+3)
    > x.new[,-c(1,3,5)] <- x
    > x.new
         [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
    [1,]   NA    5   NA    6   NA    7    8    9
    [2,]   NA    7   NA    2   NA    3    0    1
    #4949

    giupar93
    Participant

    Grazie per la risposta immediata, anche la tua idea funziona..però prima che rispondessi ho cercato ancora più approfonditamente online ed ho trovato questa funzione: insertCol() all’interno della libreria miscTools. Fa proprio quello che volevo!

    GRazie mille!

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.