Должен ли файл быть "читаемым человеком"?Если нет, используйте dump
, dput
или save
.Если это так, преобразуйте свой список в data.frame.
Редактировать: Вы можете преобразовать свой список в матрицу, если каждый элемент списка имеет одинаковую длину, выполнив matrix(unlist(list.name), nrow=length(list.name[[1]]))
или что-то в этом роде.(или с plyr
).
Почему вы не проводите анализ SVM в R (например, с помощью kernlab)?
Редактировать 2: Хорошо, я посмотрел на ваши данные, и это не такЕго легко преобразовать в матрицу, потому что элементы списка не равны по длине:
> is.list(tdm)
[1] TRUE
> str(tdm)
List of 7
$ i : int [1:1475] 15 29 151 152 173 205 215 216 227 228 ...
$ j : int [1:1475] 1 1 1 1 1 1 1 1 1 1 ...
$ v : Named num [1:1475] 3.32 4.32 2.32 2 2.32 ...
..- attr(*, "names")= chr [1:1475] "1.50" "16.00" "barrel," "barrel." ...
$ nrow : int 985
$ ncol : int 20
$ dimnames :List of 2
..$ Terms: chr [1:985] "(bpd)" "(bpd)." "(gcc)" "(it) appears to be nearing a crossroads with regard to\nderegulation, both as it pertains to investments and imports," ...
..$ Docs : chr [1:20] "127" "144" "191" "194" ...
$ Weighting: chr [1:2] "term frequency - inverse document frequency" "tf-idf"
- attr(*, "class")= chr [1:2] "TermDocumentMatrix" "simple_triplet_matrix"
Чтобы преобразовать это в матрицу, вам нужно будет либо взять элементы этого списка (например, i, j) или же выполните другие манипуляции.
Редактировать 3: Просто, чтобы завершить мой комментарий здесь: эти объекты предназначены для использования с функцией inspect
(см. пакетвиньетка ).
Как уже говорилось, для использования функции, подобной write.table
, вам нужно будет преобразовать ваш список в матрицу, что потребует некоторых манипуляций с этим списком, чтобы у вас было несколько векторов одинаковой длины.Рассматривая структуру этих tm
объектов: это будет очень трудно сделать, и я предлагаю вам поработать с вспомогательными функциями, которые включены в этот пакет.