AFAIK `num` is not a valid _atomic vector class_ in `R`:
> Possible values are NA (the default, when type.convert is used), "NULL" (when the column is skipped), **one of the atomic vector classes (logical, integer, numeric, complex, character, raw)** , or "factor", "Date" or "POSIXct". Otherwise there needs to be an as method (from package methods) for conversion from "character" to the specified formal class.
Your code should work if you replace it by `numeric`:
> DF <- read.csv("data.csv", header = T, sep = ",", colClasses=c('num','num'))Error in methods::as(data[[i]], colClasses[i]) :
no method or default for coercing “character” to “num”
whereas
> DF <- read.csv("data.csv", header = T, sep = ",", colClasses=c('numeric','numeric'))
>
> DF
Test test2 test3
1 NA 1 1
2 10.8 -1 1
3 1.1 2 2
>