2016-05-31 5 views
0

Я пишу переменные в файл «.txt» в R. Я пишу следующий код:Запись переменных в файл «.txt» в R

textfile=file.path("tuning_parameter.txt"); 
printer = file(textfile,"a+"); 
write(c(V1,V2,V3,V4,V5,V6),textfile,sep = " ",append = TRUE); 
write("\n", textfile, append=TRUE) 
close(printer) 

Я бегу код дважды и получил

1 0.02301807 0.5829662 1.391419 0.0452473 
0.07409543 
1 0.02301807 0.5829662 1.391419 0.0452473 
0.07409543 

Мой вопрос, почему 6-й переменной изменяется на следующую строку, так как я не использовали «\ п». Другой вопрос, есть ли способ в R контролировать цифры письменного переменные, такие как

fprintf(fid, '%s %10.4f %10.4f \n',V1,V2,V3); 

в MatLab?

+0

Почему бы не просто написать 'table'? – alistaire

+0

@alistaire Мне нужен текстовый файл. – sopin

+0

Вот что пишет 'write.table': текстовые файлы с разделителями в виде пробелов, которые вы можете сохранить как .txt, если хотите. – alistaire

ответ

1

write функция имеет ncolumns параметр, который устанавливается по умолчанию 5 для векторов несимвольного:

write(x, file = "data", 
     ncolumns = if(is.character(x)) 1 else 5, 
     append = FALSE, sep = " ") 

попробовать:

V1 <- 1 
V2 <- 0.02301807 
V3 <- 0.5829662 
V4 <- 1.391419 
V5 <- 0.0452473 
V6 <- 0.07409543 
textfile=file.path("tuning_parameter.txt"); 
printer = file(textfile,"a+"); 
write(c(V1,V2,V3,V4,V5,V6), textfile,sep = " ",append = TRUE, ncolumns = 6); 
write("\n", textfile, append=TRUE) 
close(printer) 

, которая производит одну линию.

+0

Спасибо! Это точно ответ. – sopin

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