Blog.

R for Data Science | Comandi utili RStudio


Autore
Andrea Provino
Data
Tempo di lettura
2 minuti
Categoria
Data Science, Guide

R_RStudio_useful_comamnds_comandi_utili_machine_learning_rstudio_guida_italiano_grafici_data_science_data_scientist

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’

Taggeddata sciencedata scientistguidamachine learning


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum