In questo post ho raccolto una serie di comandi da usare in RStudio per effettuare la manipolazione dei dati.
Impostare la working directory
Prima di ogni progetto occorre settare la working directory:
setwd("C:/Users/...")
Leggere dataset csv
Per caricare in un oggetto un intero dataset si usa:
test = fread("Test.csv")
train = fread("Train.csv")
library(data.table)
---------------------------
test <- read.csv("Test.csv")
train <- read.csv("Train.csv")
Unire due dataset
Se il dataset (o dataframe) di lavoro viene fornito diviso in ‘train’ e ‘test’ è buona norma unirli così da evitare di replicare le modifiche su entrambi.
dataset <- rbind(train,test)
Attenzione | Numero di features
Affinché l’operazione di combinazione avvenga senza errori, è necessario che i due dataset abbiano lo stesso numero di features.
Aggiungere nuova feature
Per aggiungere una feature, e impostare un valore:
dt[,New_feature := NA]
L’operatore := appartiene alla libreria datatable. ‘dt’ deve essere una data table, per conferma usare:
is.data.table(dt)
(and) read.table(dt)
Esplorazione preliminare
Questa serie di comandi consente di ottenere una visione d’insieme del dataset.
QUesto è il comando per individuare il numero di features:
dim(train)
Per visualizzare il loro nome usiamo invece:
names(train)
Infine, per visualizzare le struttura del dataset, (utile per capire qual è la tipologia della variabile):
str(train)
Ridurre ridondanza variazione variabile
Può capitare che lo una stessa features di un sample compaia nel dataset con diversi nomi. Per risolvere la ridondanza si usa:
dt$feature[dt$feature == "old_name"] = "new_name"
Sostiture valori con media
L’Exploratory Data Analysis potrebbe portare alla luce incongruenze tra il dataset e la realtà effettiva. In questo caso sostiture i valori aberranti con la media calcolata sulla variazione della feature è una pratica ricorrente.
zero_index = which(dt$column == 0)
for(i in zero_index){
item = dt$column[i]
dt$column[i] = mean(dt$column[dt$column == item], na.rm = T)
}
Il codice in esempio sostituisce tutti i valori 0 con la media della feature ‘column’
No Comment