Cos'è un data frame?
Un data frame è un elenco di vettori di uguale lunghezza. Una matrice contiene un solo tipo di dati, mentre un data frame accetta diversi tipi di dati (numerico, carattere, fattore, ecc.).
In questo tutorial imparerai-
- Cos'è un data frame?
- Come creare un data frame
- Aggiungi una colonna al frame di dati
- Seleziona una colonna di un frame di dati
- Crea un sottoinsieme di frame di dati
Come creare un data frame
Possiamo creare un dataframe in R passando la variabile a, b, c, d nella funzione data.frame (). Possiamo R creare dataframe e denominare le colonne con name () e specificare semplicemente il nome delle variabili.
data.frame(df, stringsAsFactors = TRUE)
Argomenti :
- df : può essere una matrice da convertire come data frame o una raccolta di variabili da unire
- stringsAsFactors : converte la stringa in factor per impostazione predefinita
Possiamo creare un dataframe in R per il nostro primo set di dati combinando quattro variabili della stessa lunghezza.
# Create a, b, c, d variablesa <- c(10,20,30,40)b <- c('book', 'pen', 'textbook', 'pencil_case')c <- c(TRUE,FALSE,TRUE,FALSE)d <- c(2.5, 8, 10, 7)# Join the variables to create a data framedf <- data.frame(a,b,c,d)df
Produzione:
## a b c d## 1 1 book TRUE 2.5## 2 2 pen TRUE 8.0## 3 3 textbook TRUE 10.0## 4 4 pencil_case FALSE 7.0
Possiamo vedere che le intestazioni delle colonne hanno lo stesso nome delle variabili. Possiamo cambiare il nome della colonna in R con i nomi delle funzioni (). Controlla l'esempio di R create dataframe di seguito:
# Name the data framenames(df) <- c('ID', 'items', 'store', 'price')df
Produzione:
## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0## 3 30 textbook TRUE 10.0## 4 40 pencil_case FALSE 7.0
# Print the structurestr(df)
Produzione:
## 'data.frame': 4 obs. of 4 variables:## $ ID : num 10 20 30 40## $ items: Factor w/ 4 levels "book","pen","pencil_case",… : 1 2 4 3## $ store: logi TRUE FALSE TRUE FALSE## $ price: num 2.5 8 10 7
Per impostazione predefinita, il data frame restituisce variabili stringa come fattore.
Slice Data Frame
È possibile SLICE valori di un Data Frame. Selezioniamo le righe e le colonne da ritornare tra parentesi precedute dal nome del data frame.
Un data frame è composto da righe e colonne, df [A, B]. A rappresenta le righe e B le colonne. Possiamo sezionare specificando le righe e / o le colonne.
Dall'immagine 1, la parte sinistra rappresenta le righe e la parte destra sono le colonne . Notare che il simbolo: significa a . Ad esempio, 1: 3 intende selezionare valori da 1 a 3.
Nel diagramma sottostante mostriamo come accedere a diverse selezioni del frame di dati:
- La freccia gialla seleziona la riga 1 nella colonna 2
- La freccia verde seleziona le righe da 1 a 2
- La freccia rossa seleziona la colonna 1
- La freccia blu seleziona le righe da 1 a 3 e le colonne da 3 a 4
Nota che, se lasciamo vuota la parte sinistra, R selezionerà tutte le righe . Per analogia, se lasciamo vuota la parte destra, R selezionerà tutte le colonne .
Possiamo eseguire il codice nella console:
## Select row 1 in column 2df[1,2]
Produzione:
## [1] book## Levels: book pen pencil_case textbook
## Select Rows 1 to 2df[1:2,]
Produzione:
## ID items store price## 1 10 book TRUE 2.5## 2 20 pen FALSE 8.0
## Select Columns 1df[,1]
Produzione:
## [1] 10 20 30 40
## Select Rows 1 to 3 and columns 3 to 4df[1:3, 3:4]
Produzione:
## store price## 1 TRUE 2.5## 2 FALSE 8.0## 3 TRUE 10.0
È anche possibile selezionare le colonne con i loro nomi. Ad esempio, il codice seguente estrae due colonne: ID e store.
# Slice with columns namedf[, c('ID', 'store')]
Produzione:
## ID store## 1 10 TRUE## 2 20 FALSE## 3 30 TRUE## 4 40 FALSE
Aggiungi una colonna al frame di dati
Puoi anche aggiungere una colonna a un data frame. È necessario utilizzare il simbolo $ per aggiungere la variabile R del dataframe e aggiungere una colonna a un dataframe in R.
# Create a new vectorquantity <- c(10, 35, 40, 5)# Add `quantity` to the `df` data framedf$quantity <- quantitydf
Produzione:
## ID items store price quantity## 1 10 book TRUE 2.5 10## 2 20 pen FALSE 8.0 35## 3 30 textbook TRUE 10.0 40## 4 40 pencil_case FALSE 7.0 5
Nota: il numero di elementi nel vettore deve essere uguale al numero di elementi nel frame di dati. Eseguendo la seguente istruzione per aggiungere una colonna al dataframe R
quantity <- c(10, 35, 40)# Add `quantity` to the `df` data framedf$quantity <- quantity
Fornisce errore:
Error in `$<-.data.frame`(`*tmp*`, quantity, value = c(10, 35, 40))replacement has 3 rows, data has 4
Seleziona una colonna di un frame di dati
A volte, è necessario memorizzare una colonna di un data frame per un utilizzo futuro o eseguire operazioni su una colonna. Possiamo usare il segno $ per selezionare la colonna da un data frame.
# Select the column IDdf$ID
Produzione:
## [1] 1 2 3 4
Crea un sottoinsieme di frame di dati
Nella sezione precedente, abbiamo selezionato un'intera colonna senza condizioni. È possibile creare un sottoinsieme in base al fatto che una determinata condizione fosse vera o meno.
Usiamo la funzione subset ().
subset(x, condition)arguments:- x: data frame used to perform the subset- condition: define the conditional statement
Vogliamo restituire solo gli articoli con prezzo superiore a 10, possiamo fare:
# Select price above 5subset(df, subset = price > 5)
Produzione:
ID items store price2 20 pen FALSE 83 30 textbook TRUE 104 40 pencil_case FALSE 7