2016-09-10 15 views
1

R 스크립트에서 텍스트 파일을 내보내려면 어떻게해야합니까? 결과에 관계없이 인쇄 할 텍스트를 미리 설정하고 싶지만 텍스트 파일에서 변경할 수있는 변수를 추가하고 싶습니다. 이 작업을 수행하는 방법을 알고있는 유일한 방법은 sinkcat을 사용하는 것입니다. 문제는 각 독립 줄마다 cat을 만들어야한다는 것입니다. 각 줄마다 cat을 사용하지 않고 큰 단락을 쓸 수있는 방법이 있습니까?다른 변수의 결과를 출력하기 위해 R로 텍스트 파일을 만드는 방법은 무엇입니까?

[1] "=============================================================== \n\nNEW MODEL \n=============================================================== \nSummary of the model:" 
[1] 1 2 3 4 5 6 7 8 9 10 

하지만 이런 일이하는 것을 선호 :

x = 1:10 
sink("~/Desktop/TEST.txt", type=c("output", "message"), append = FALSE) 
"=============================================================== \n 
NEW MODEL 
=============================================================== 
Summary of the model:" 
x 
# model.summary$BUGSoutput$sims.list 
sink(NULL) 

는 출력은 다음과 같습니다

=============================================================== 
NEW MODEL 
=============================================================== 

Summary of the model: 
1 2 3 4 5 6 7 8 9 10 

당신이 쓸 수를 (쓰기는하지 않는 방법이있다 각 줄에 고양이?) :

x = 1:10 
sink("~/Desktop/TEST.txt", type=c("output", "message"), append = FALSE) 
cat("===============================================================\n") 
cat("NEW MODEL\n") 
cat("===============================================================\n") 
cat("Summary of the model:\n") 
x 
cat("# model.summary$BUGSoutput$sims.list\n") 
sink(NULL) 
=============================================================== 
NEW MODEL 
=============================================================== 
Summary of the model: 
[1] 1 2 3 4 5 6 7 8 9 10 
# model.summary$BUGSoutput$sims.list 

을하지만 흥미롭게도,이 작동하지 않습니다 :3210이를 얻으려면

yo <- function(x) { 
    sink("~/Desktop/potato.txt", type="output") 
    writeLines("=============================================================== 
NEW MODEL 
=============================================================== 
Summary of the model:") 
x 
# other stuff 
    sink() 

} 

yo(1:10) 

출력 :

=============================================================== 
NEW MODEL 
=============================================================== 
Summary of the model: 
+0

sink(<file name>, type="output") writeLines("=============================================================== NEW MODEL =============================================================== Summary of the model:") summary(model) # other stuff sink() 
는 당신이 그의 애호가 기능을 사용하지 않는 경우 AsciiDoc 또는 마크 다운 출력이 ... 당신은 기본적으로 일반 텍스트와 끝까지해야한다고 –

답변

1

사용 ?writeLines을. 고려 :

당신과 함께 knitR을 사용하여 조사 할 수 있습니다
+0

어떻게 만드는 방법을 수행 그것은 함수 안에서 작동합니까? –

+0

다른 질문 인 것처럼 보입니다. @ M.Beausoleil. 나는 네가 무슨 뜻인지 정말로 모르겠다. 당신이 염두에두고있는 상황을 설명하기 위해 재현 가능한 예가 필요할 것입니다. – gung

+1

나는 잘 모른다. 함수에서 싱크 내부의'print (x)'를 사용하면 효과가있는 것 같습니다. 그러나 싱크가 기능에 없다면, 당신은 그것을 필요로하지 않는 것 같습니다. – gung