Чтение формата svmLigh с помощью h2o - PullRequest
0 голосов
/ 08 июля 2019

Используя пакет h2o R (v 3.24.0.5) для некоторого глубокого изучения, мне нужно импортировать в него некоторую большую разреженную матрицу [2M * 10k]. Я пытался использовать fwrite, но у меня возникла слишком большая ошибка в cholmod, поэтому я выбрал svmlight. Оригинальная матрица выглядит так:

    Count    Dist    
1   nan     10.1266
2   859.124 10.8198
3   nan     10.1266

Для этого я взял пакет sparsio, запись идет нормально, но при чтении файла с помощью h2o.importFile я заметил, что что-то не так: Я получаю индексы столбцов перед каждым числом, как вы можете видеть ниже:

library(sparsio)
write_svmlight(HiC_mat.All, file="Rdata/mat_kmer-NA.txt")


HIC_df = h2o.importFile("Rdata/mat_kmer-NA.txt")

HIC_df[1:3,1:3]
  C1        C2        C3
1  0     0:nan 1:10.1266
2  0 0:859.124 1:10.8198
3  0     0:nan 1:10.1266

Есть идеи, как мне от них избавиться?

Данные должны выглядеть так:

  C1        C2        C3
1  0       nan     10.1266
2  0    859.124    10.8198
3  0       nan     10.1266

1 Ответ

1 голос
/ 09 июля 2019

Хорошо, проблема, кажется, действительно в написании файла SVM, который я использовал:

write_svmlight(x, y = numeric(nrow(x)), file = filename, zero_based = FALSE) 

, и пока это работает

...