Crea un frame di dati di grandi dimensioni in R
- Usa vettori e fattori per creare una cornice dati in R
- Usa la lista per creare un frame di dati in R
- Usa Matrix per creare un frame di dati in R
Questo articolo spiegherà diversi metodi per creare un frame di dati di grandi dimensioni in R.
Usa vettori e fattori per creare una cornice dati in R
Un frame di dati è la struttura dati incorporata più potente del linguaggio R e assomiglia alla matrice tabulare, in cui ogni colonna ha la stessa lunghezza e devono avere nomi. Al di sotto, tuttavia, ha più caratteristiche simili a “lista”, poiché ogni colonna del frame di dati viene trattata come se fosse un elemento della struttura di dati “lista”. Tra i lati positivi, possiamo costruire un frame di dati usando il mix di vettori e fattori come dimostrato nel seguente frammento di codice. Usiamo la funzione data.frame
per costruire un oggetto data frame da vettori e fattori.
v1 <- c(1.1, 1.2, 1.3, 2.1, 2.2, 2.3)
v2 <- c(11, 12, 13, 21, 22, 23)
v3 <- c(1, 2, 3, 1, 2, 3)
wday <- factor(c("Wed", "Thu", "Mon", "Wed", "Thu", "Fri"))
df2 <- data.frame(v1, v2, v3, wday)
Produzione:
v1 v2 v3 wday
1 1.1 11 1 Wed
2 1.2 12 2 Thu
3 1.3 13 3 Mon
4 2.1 21 1 Wed
5 2.2 22 2 Thu
6 2.3 23 3 Fri
Usa la lista per creare un frame di dati in R
In alternativa, è possibile creare un oggetto frame di dati utilizzando l’oggetto elenco. Tuttavia, questo metodo richiede una funzione diversa chiamata as.data.frame
che converte un singolo oggetto elenco in un frame di dati. Nota che costruiamo l’oggetto elenco con la funzione lista
nell’esempio seguente e la catena che chiama come argomento di as.data.frame
. Poiché il frame di dati deve avere le etichette di colonna, di solito vengono scelte automaticamente se l’utente non le specifica. Se durante la conversione vengono scelti i nomi non desiderati, è sempre possibile chiamare la funzione colnames
e assegnarle un vettore di nomi di colonna.
v1 <- c(1.1, 1.2, 1.3, 2.1, 2.2, 2.3)
v2 <- c(11, 12, 13, 21, 22, 23)
v3 <- c(1, 2, 3, 1, 2, 3)
wday <- factor(c("Wed", "Thu", "Mon", "Wed", "Thu", "Fri"))
df1 <- as.data.frame(list(v1, v2, v3, wday))
colnames(df1) <- c("v1", "v2", "v3", "wday")
df1
Produzione:
v1 v2 v3 wday
1 1.1 11 1 Wed
2 1.2 12 2 Thu
3 1.3 13 3 Mon
4 2.1 21 1 Wed
5 2.2 22 2 Thu
6 2.3 23 3 Fri
Usa Matrix per creare un frame di dati in R
A volte, è necessaria un’enorme allocazione di frame di dati che non è pratica da inizializzare con i vettori o gli elenchi. Fortunatamente, la funzione matrix
fornisce un modo facile e veloce per costruire grandi frame di dati specificando i numeri di riga/colonna. Facoltativamente, è possibile inizializzare i valori nel frame di dati utilizzando il vettore passato come primo argomento. In caso contrario, gli elementi avranno valori NA
.
m1 <- matrix(1:1000, ncol = 10, nrow = 100)
df1 <- as.data.frame(m1)
df1
Produzione:
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1 1 101 201 301 401 501 601 701 801 901
2 2 102 202 302 402 502 602 702 802 902
....
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook