2013-06-14 3 views
13

짧고 달콤한 : R에서 TSV/CSV를 어떻게 내보낼 수 있습니까?적절한 TSV를 내보내는 방법은 무엇입니까?

write.table/write.csv거의 작품 :

test <- data.frame(a = 2 : 4, b = 3 : 5) 
write.table(test, file='test.tsv', quote=FALSE, sep='\t') 
$ more test.tsv 
a b 
1 2 3 
2 3 4 
3 4 5 

...하지만 대부분의 다른 프로그램에 의해 예상 무슨 다른 형식이 생성

a b 
1 2 3 
2 3 4 
3 4 5 

을 - 다른 취급주의 헤더 행의

어떻게 첫 번째 형식이 아닌 두 번째 형식으로 내보낼 수 있습니까? col.names을 수동으로 c('', colnames(test))으로 지정하면 작동하지 않습니다. R은 잘못된 인수에 대해 불평합니다.

+0

내가 그 CSV 또는 TSV 파일, 다른 규칙의 단지 무리에 대한 "적절한"어떠한 정의를 프로그래머없는 주장 것입니다. – Spacedman

+0

@ 스페이스 맨 (Spacedman) 나는 "대부분의 다른 프로그램에 의해 기대되는 것"이라는 질문에 대한 나의 설명에 동의한다. –

답변

22

당신은 col.names = NA를 사용할 수 있습니다

write.table(test, file='test.tsv', quote=FALSE, sep='\t', col.names = NA) 
+3

아 직관적입니다. –

+0

@KonradRudolph 나는 이것이 약하게 문서화 된 "gotchas"중 하나임에 동의합니다. 밝은면에서 일단 배웠다면 잊지 못할 것입니다 :-) –

+5

@ Carl 당신의 약속에도 불구하고, 나는 그것을 다시 잊어 버렸습니다. : -/ –

관련 문제