텍스트와 변수 내용을 같은 줄에 인쇄하는 방법이 있습니까? 예를 들어
wd <- getwd()
print("Current working dir: ", wd)
나는 이것을 할 수있는 구문에 대해 아무것도 찾을 수 없었다.
텍스트와 변수 내용을 같은 줄에 인쇄하는 방법이 있습니까? 예를 들어
wd <- getwd()
print("Current working dir: ", wd)
나는 이것을 할 수있는 구문에 대해 아무것도 찾을 수 없었다.
답변:
{glue}는 훨씬 나은 문자열 보간법을 제공합니다 . 다른 답변을 참조하십시오 . 또한 Dainis가 올바르게 언급했듯이
sprintf()
문제가없는 것은 아닙니다.
또한있다 sprintf()
:
sprintf("Current working dir: %s", wd)
콘솔 출력에 인쇄하려면, 사용 cat()
또는 message()
:
cat(sprintf("Current working dir: %s\n", wd))
message(sprintf("Current working dir: %s\n", wd))
sprintf
인쇄되지 않습니다, 그냥 문자열을 포맷합니다. 스크립트에는 print (sprintf (...))와 같은 것이 필요합니다.
가장 쉬운 방법은 사용하는 것입니다 paste()
> paste("Today is", date())
[1] "Today is Sat Feb 21 15:25:18 2015"
paste0()
결과는 다음과 같습니다.
> paste0("Today is", date())
[1] "Today isSat Feb 21 15:30:46 2015"
문자열과 x 사이에는 기본 구분 기호가 없습니다. 문자열 끝에 공백을 사용하는 것이 빠른 해결책입니다.
> paste0("Today is ", date())
[1] "Today is Sat Feb 21 15:32:17 2015"
그런 다음 두 기능 중 하나를 print()
> print(paste("This is", date()))
[1] "This is Sat Feb 21 15:34:23 2015"
또는
> print(paste0("This is ", date()))
[1] "This is Sat Feb 21 15:34:56 2015"
다른 사용자가 언급했듯이 다음을 사용할 수도 있습니다. cat()
{접착제} 패키지는 문자열 보간을 제공합니다. 이 예에서는 {wd}
변수의 내용으로 대체됩니다. 복잡한 표현도 지원됩니다.
library(glue)
wd <- getwd()
glue("Current working dir: {wd}")
#> Current working dir: /tmp/RtmpteMv88/reprex46156826ee8c
reprex 패키지 (v0.2.1) 에서 2019-05-13에 작성
인쇄 된 출력에 [1]
인공물과 "
따옴표가 포함되어 있지 않은지 확인하십시오 cat()
.
다른 사용자가 말했듯이 cat ()이 가장 좋은 옵션 일 것입니다.
@krlmlr은 sprintf () 사용을 제안했으며 현재 3 위 답변입니다. sprintf ()는 좋은 생각이 아닙니다. R 문서에서 :
형식 문자열은 OS의 sprintf 함수로 전달되며 잘못된 형식으로 인해 R 프로세스가 충돌 할 수 있습니다.
cat 또는 다른 옵션보다 sprintf ()를 사용해야 할 이유가 없습니다.
sep = ''
하거나 여분의 공간을 얻을 것입니다.