2016-07-06 10 views
0

У меня есть вопрос в экспорте фрейма данных из списка в txt-файл. Я нашел некоторые решения, но это было только для векторов. Вот один пример:Экспорт данных из списка в файл txt

dataframe1 <- data.frame(a= c(1,2,3,4,5), b= c(1,1,1,1,1)) 
dataframe2 <- data.frame(a= c(5,5,5), b= c(1,1,1)) 
mylist <- list(dataframe1, dataframe2) 

Я хотел бы, что текстовый файл выглядит следующим образом:

$dataframe1 
a b 
1 1 
2 1 
3 1 
4 1 
5 1 

$dataframe2 
a b 
5 1 
5 1 
5 1 

Спасибо за помощь.

ответ

4

Произнесите список называется:

mylist<-structure(list(dataframe1 = structure(list(a = c(1, 2, 3, 4, 
5), b = c(1, 1, 1, 1, 1)), .Names = c("a", "b"), row.names = c(NA, 
-5L), class = "data.frame"), dataframe2 = structure(list(a = c(5, 
5, 5), b = c(1, 1, 1)), .Names = c("a", "b"), row.names = c(NA, 
-3L), class = "data.frame")), .Names = c("dataframe1", "dataframe2" 
)) 

Вы можете попробовать:

con<-file("temp.csv",open="at") 
Map(function(x,y) {cat(file=con,y,"\n");write.table(x,file=con,quote=FALSE,row.names=FALSE)}, 
    mylist,names(mylist)) 
close(con) 

выше будет записывать файлы на файл temp.csv. Вы должны указать имена в своем списке, если хотите, чтобы он работал.

В качестве альтернативы, если вы хорошо с помощью метода print, вы можете просто перенаправить стандартный вывод в файл:

sink("temp.csv") 
print(mylist) 
sink(NULL) 
+0

Спасибо. Альтернатива методу печати - это то, что я хотел. Возможно ли также удалить имена строк из написанного файла? – Eco06

+0

Я нашел также один предупреждающий массаж в конце стола: [достигнуто getOption («max.print») - опущено 3639 строк] ?! – Eco06

Смежные вопросы