Rzutowanie data.tables

Łączenie danych z data.table w R

Scott Ritchie

Postdoctoral Researcher in Systems Genomics

Rzutowanie długiej data.table

sales_wide <- dcast(sales_long, quarter ~ year, value.var = "amount")

Łączenie danych z data.table w R

Funkcja dcast()

Ogólna postać funkcji dcast():

dcast(DT, ids ~ group, value.var = "values")
      |   |     |                   |
      |   |     |                    --> kolumna do podziału
      |   |      ----------------------> etykiety grup do podziału
      |    ----------------------------> wiersze jako identyfikatory
       --------------------------------> data.table do przekształcenia            
Łączenie danych z data.table w R

Funkcja dcast()

sales_wide <- dcast(sales_long, quarter ~ year, value.var = "amount")

Łączenie danych z data.table w R

Podział wielu kolumn wartości

dcast(profit_long, quarter ~ year, value.var = c("revenue", "profit"))

Łączenie danych z data.table w R

Wiele identyfikatorów wierszy

Zachowywanie wielu kolumn jako identyfikatorów wierszy:

dcast(sales_long, quarter + season ~ year, value.var = "amount")

Łączenie danych z data.table w R

Usuwanie kolumn

W wyniku znajdą się tylko kolumny z formuły lub value.var:

sales_wide <- dcast(sales_long, quarter ~ year, value.var = "amount")

Łączenie danych z data.table w R

Wiele grupowań

Podział według wielu kolumn grupujących:

dcast(sales_long, quarter ~ department + year, value.var = "amount")

Łączenie danych z data.table w R

Konwersja do macierzy

sales_wide <- dcast(sales_long, season ~ year, value.var = "amount")
sales_wide
   season    2015    2016
1: Autumn 3420000 3670000
2: Spring 2950000 3000300
3: Summer 2980700 3120200
4: Winter 3200100 3350000
Łączenie danych z data.table w R

Konwersja do macierzy

as.matrix() pozwala użyć jednej z kolumn jako nazw wierszy macierzy:

mat <- as.matrix(sales_wide, rownames = "season")
mat
       2015    2016        
Autumn 3420000 3670000
Spring 2950000 3000300
Summer 2980700 3120200
Winter 3200100 3350000
Łączenie danych z data.table w R

Czas na ćwiczenia!

Łączenie danych z data.table w R

Preparing Video For Download...