read/write data in libsvm format

libsvm, r

Solution

`e1071` is off the shelf:

install.packages("e1071")
library(e1071)
read.matrix.csr(...)
write.matrix.csr(...)

Note: it is implemented in `R`, not in `C`, so it is dog-slow.

It even have a special vignette Support Vector Machines—the Interface to libsvm in package e1071.

`r.vw` is bundled with `vowpal_wabbit`

Note: it is implemented in `R`, not in `C`, so it is dog-slow.

Problem

How do I read/write `libsvm` data into/from `R`? The `libsvm` format is sparse data like ``` <class/target>[ <attribute number>:<attribute value>]* ``` (cf. Compressed Row Storage (CRS)) e.g., ``` 1 10:3.4 123:0.5 34567:0.231 0.2 22:1 456:03 ``` I am sure I can whip some something myself, but I would much rather use something off the shelf. However, `R` library `foreign` does not seem to provide the necessary functionality.

Original source