2017-02-19 3 views
1

У меня есть набор данных ~ 4 ГБ +.Распечатайте большой список списков

Структура

UniqueID Tags 
1   1, 37, 284 
2   1, 284 
3   234, 456, 789 
... 

Я хочу, чтобы написать это в файл, однако это дает мне вопрос, так как

typeof(structure) = list 

и

typeof(structure$Tags) = list 

Я надеюсь напишите его в таблицу точно так, как показано на рисунке, причем 1 столбец является UniqueID, а следующий столбец - вторым списком распечатанный.

При попытке записать его в настоящее время с помощью

write.table(structure, output_file, sep="\t", row.names=FALSE,col.names=TRUE,quote=FALSE) 

Я получаю

Error in .External2(C_writetable, x, file, nrow(x), p, rnames, sep, eol, : 
unimplemented type 'list' in 'EncodeElement' 

, который я уверен, что из-за моего стола имея список в нем.

Edit: Я хотел бы добавить, я пытался делать структуру $ теги = пасты (структура $ теги, коллапс = "")

но мой результат сохраняется в формате

"c(Tag1, Tag2, ..., TagN)" 
"c(Tag1, Tag284, ...)" 
+1

Вы пытались записать его как файл 'rds' через' writeRDS'? - посмотрите здесь: https://stat.ethz.ch/R-manual/R-patched/library/base/html/readRDS.html – Rentrop

+0

Вы хотите, чтобы иметь возможность читать данные в другую программу или просто сохранять это так, что его можно легко загрузить обратно в R? – Dason

ответ

0

You может создать новый кадр данных и записать его.

tagLists <- sapply(structure$tags, paste, collapse = ",") 
df <- data.frame(unique_ids = structure$unique_ids, tags = tagLists) 
Смежные вопросы