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