0

I want to calculate the number of missing values in a data.table.

require(data.table)
DT <- data.table(kkey = 1:10, data = (1:10)^2)
for (i in 1:2) set(DT, sample(10, i+3), i, NA)
> DT
    kkey data
 1:    1   NA
 2:   NA    4
 3:    3   NA
 4:    4   16
 5:   NA   NA
 6:    6   36
 7:   NA   NA
 8:    8   NA
 9:    9   81
10:   NA  100

I can get the information I want with:

DT[, c('missing.values.in.kkey', 'missing.values.in.data') := 
     lapply(.SD, function(x) sum(is.na(x)))]

or

summary(DT)

or

lapply(DT, function(x) sum(is.na(x)))
$kkey
[1] 4

$data
[1] 5

But how do I create a simple data.table like this, the data.table way?:

      missing.kkey  missing.data
1:               4             5
MichaelChirico
  • 32,615
  • 13
  • 106
  • 186
Konstantinos
  • 3,521
  • 2
  • 18
  • 28

0 Answers0