Come impostare la colonna del frame di dati come indice in r (con esempio)


I dataframe in R non hanno una colonna “indice” come potrebbero fare i dataframe nei panda.

Tuttavia, i frame di dati in R hanno nomi di riga , che agiscono allo stesso modo di una colonna di indice.

È possibile utilizzare uno dei metodi seguenti per impostare una colonna di frame di dati esistente come nomi di riga per un frame di dati in R:

Metodo 1: imposta i nomi delle righe utilizzando Base R

 #set specific column as row names
rownames(df) <- df$my_column

#remove original column from data frame
df$my_column <- NULL

Metodo 2: imposta i nomi delle righe utilizzando il pacchetto Tidyverse

 library (tidyverse)

#set specific column as row names
df <- df %>% column_to_rownames(., var = ' my_column ')

Metodo 3: impostare i nomi delle righe durante l’importazione dei dati

 #import CSV file and specify column to use as row names
df <- read. csv (' my_data.csv ', row.names =' my_column ')

Gli esempi seguenti mostrano come utilizzare ciascun metodo nella pratica.

Esempio 1: definire i nomi delle righe utilizzando Base R

Supponiamo di avere il seguente frame di dati in R:

 #create data frame
df <- data. frame (ID=c(101, 102, 103, 104, 105),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#view data frame
df

   ID points assists rebounds
1 101 99 33 30
2 102 90 28 28
3 103 86 31 24
4 104 88 39 24
5 105 95 34 28

Possiamo utilizzare il seguente codice per impostare la colonna ID come nomi di riga:

 #set ID column as row names
rownames(df) <- df$ID

#remove original ID column from data frame
df$ID <- NULL

#view updated data frame
df

    points assists rebounds
101 99 33 30
102 90 28 28
103 86 31 24
104 88 39 24
105 95 34 28

I valori nella colonna ID sono ora i nomi delle righe del frame di dati.

Esempio 2: imposta i nomi delle righe utilizzando il pacchetto Tidyverse

Il codice seguente mostra come utilizzare la funzione column_to_rownames() del pacchetto Spiceverse per impostare i nomi delle righe uguali alla colonna ID nel frame di dati:

 library (tidyverse)

#create data frame
df <- data. frame (ID=c(101, 102, 103, 104, 105),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#set ID column as row names
df <- df %>% column_to_rownames(., var = ' ID ')

#view updated data frame
df

    points assists rebounds
101 99 33 30
102 90 28 28
103 86 31 24
104 88 39 24
105 95 34 28

Si noti che questo risultato corrisponde a quello dell’esempio precedente.

Esempio 3: impostare i nomi delle righe durante l’importazione dei dati

Supponiamo di avere il seguente file CSV chiamato my_data.csv :

Possiamo utilizzare il seguente codice per importare il file CSV e impostare i nomi delle righe in modo che siano uguali alla colonna ID durante l’importazione:

 #import CSV file and specify ID column to use as row names
df <- read. csv (' my_data.csv ', row.names =' ID ')

#view data frame
df

    points assists rebounds
101 99 33 30
102 90 28 28
103 86 31 24
104 88 39 24
105 95 34 28

Tieni presente che i valori nella colonna ID vengono utilizzati come nomi di riga nel frame di dati.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come rimuovere le righe dal frame di dati in R in base alla condizione
Come sostituire i valori nel frame di dati in R
Come rimuovere le colonne dal frame di dati in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *