Subsetting data tables¶
The following makes use of the data.table package. You may need to install it
from CRAN using the code
install.packages("data.table")
if you want to run this on your computer. (The package is already installed on
the notebook container, however.)
library(data.table)
load("bes2010feelings.RData")
setDT(bes2010feelings)
sctl2010feelings <- bes2010feelings[region=="Scotland"]
head(sctl2010feelings)
flng.brown flng.cameron flng.clegg flng.salmond flng.jones flng.labour
1 8 3 NA 7 6 9
2 0 3 NA 2 NA NA
3 4 5 5 7 3 4
4 6 5 6 6 4 5
5 8 6 7 0 9 6
6 9 3 3 4 7 7
flng.cons flng.libdem flng.snp flng.pcym flng.green flng.ukip flng.bnp wave
1 7 5 9 NA 5 NA NA Pre
2 NA NA NA NA NA NA NA Pre
3 4 5 7 NA 3 2 0 Pre
4 4 4 5 NA 1 0 0 Pre
5 7 5 0 NA 2 3 0 Pre
6 5 4 6 NA 7 5 7 Pre
region
1 Scotland
2 Scotland
3 Scotland
4 Scotland
5 Scotland
6 Scotland
bes2010feelings.srtd <- bes2010feelings[order(wave,region)]
bes2010feelings.sub <- bes2010feelings[,.(flng.brown,wave,region)]
names(bes2010feelings.sub)
[1] "flng.brown" "wave" "region"
str(bes2010feelings.sub)
Classes ‘data.table’ and 'data.frame': 5010 obs. of 3 variables:
$ flng.brown: num 6 3 8 4 5 5 5 4 7 4 ...
$ wave : Factor w/ 2 levels "Pre","Post": 1 1 1 1 1 1 1 1 1 1 ...
$ region : Factor w/ 3 levels "England","Scotland",..: 1 NA 1 1 NA 1 1 1 1 1 ...
- attr(*, ".internal.selfref")=<externalptr>
head(bes2010feelings.sub)
flng.brown wave region
1 6 Pre England
2 3 Pre NA
3 8 Pre England
4 4 Pre England
5 5 Pre NA
6 5 Pre England
sctl2010feelings <- bes2010feelings[region=="Scotland",
.(wave,
flng.brown,
flng.cameron,
flng.clegg,
flng.salmond)]
str(sctl2010feelings)
Classes ‘data.table’ and 'data.frame': 872 obs. of 5 variables:
$ wave : Factor w/ 2 levels "Pre","Post": 1 1 1 1 1 1 1 1 1 1 ...
$ flng.brown : num 8 0 4 6 8 9 NA 1 7 10 ...
$ flng.cameron: num 3 3 5 5 6 3 NA 3 5 6 ...
$ flng.clegg : num NA NA 5 6 7 3 NA NA 3 6 ...
$ flng.salmond: num 7 2 7 6 0 4 NA 4 5 8 ...
- attr(*, ".internal.selfref")=<externalptr>
head(sctl2010feelings)
wave flng.brown flng.cameron flng.clegg flng.salmond
1 Pre 8 3 NA 7
2 Pre 0 3 NA 2
3 Pre 4 5 5 7
4 Pre 6 5 6 6
5 Pre 8 6 7 0
6 Pre 9 3 3 4
- R file: subsetting-data-tables.R
- Rmarkdown file: subsetting-data-tables.Rmd
- Jupyter notebook file: subsetting-data-tables.ipynb
- Interactive version of the Jupyter notebook (shuts down after 60s):
- Interactive version of the Jupyter notebook (sign in required):