[r] R에서 같은 줄에 문자열 및 변수 내용 인쇄

텍스트와 변수 내용을 같은 줄에 인쇄하는 방법이 있습니까? 예를 들어

wd <- getwd()
print("Current working dir: ", wd)

나는 이것을 할 수있는 구문에 대해 아무것도 찾을 수 없었다.



답변

paste함께 사용할 수 있습니다print

print(paste0("Current working dir: ", wd))

또는 cat

cat("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))


답변

또는 사용 message

message("Current working dir: ", wd)

@agstudy의 답변이 더 적합합니다.


답변

가장 쉬운 방법은 사용하는 것입니다 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 ()를 사용해야 할 이유가 없습니다.


답변

paste0 또는 cat 메소드를 사용하여 문자열을 R의 변수 값과 결합 할 수 있습니다.

예를 들어 :

paste0("Value of A : ", a)

cat("Value of A : ", a)