2015-01-15 2 views
0

데이터 파일 (data.file)을 만들려고합니다.writeLines in R with string

문자열이 있습니다 : string=c("test1","test2","test3") 다른 명령과 결합하여 텍스트 파일에 쓸 필요가 있습니다. 의 길이는 제한이 없습니다.

이 특정한 경우에, 내 데이터 파일에 내가 원하는 출력은 다음과 같습니다 : "test1" "test2" "test3" :=

내가 cat(':',string,':=\n',file=data.file,append=TRUE) 시도했지만 이것이 내가 필요로하는 따옴표를 반환하지 않습니다.

(: test1 test2 test3 :=에는 인용 부호가 없습니다.)

어떻게하면됩니까? 그리고 writeLines으로도 처리 할 수 ​​있습니까?

답변

1

writeLines 문자 그대로 줄 구분 기호로 구분 된 줄을 씁니다. 그 전에 서식을 지정해야합니다. 따옴표로 텍스트를 포위하기 위해

는 단순히 다음과 같은 작업을 수행 할 수

sprintf('"%s"', string) 

sprintf은 다양한 텍스트 서식 기능입니다 (그 사용이 매우 비밀이지만).

그러나 문자열에 따옴표가 포함될 수있는 경우 문제가 발생합니다. 그런 경우 어떻게해야합니까? 일반적으로 서식 지정 전에 문자열 내용에 허용되는 값과 예기치 않은 입력을 처리하는 방법에 세심한주의를 기울여야합니다.

+0

그래서 다음과 같이하십시오 :'writeLines (c : ","sprintf (' "% s"', string), ": ="), con = data.file)'? – James

+0

@James 네, 작동 할 것입니다. 그러나 매개 변수 'sep'를 다른 값으로 설정하지 않는 한 요소는 별도의 줄에 있습니다. 'writeLines' 대신'cat'을 똑같이 사용할 수 있습니다. 그런 다음 인수를 벡터에 넣을 필요가 없습니다 (그래서'c ('...')'). –

+0

정말 고마워! – James