각 요소가 쉼표로 구분되는 문자형 벡터로 변환하려는 숫자 형 벡터가 있습니다.
> one = c(1:5)
> paste(as.character(one), collapse=", ")
[1] "1, 2, 3, 4, 5"
> paste(as.character(one), sep="' '", collapse=", ")
[1] "1, 2, 3, 4, 5"
그러나 출력이 다음과 같기를 바랍니다.
"1", "2", "3", "4", "5"
붙여 넣기 기능에서 일부 매개 변수가 누락 되었습니까? 도움!?
답변
shQuote
이 작업을 수행하는 가장 좋은 방법 일 것입니다. 특히 다음과 같이 원하는 출력을 얻을 수 있습니다.
cat(paste(shQuote(one, type="cmd"), collapse=", "))
작은 따옴표가 괜찮 으면 다음을 사용할 수 있습니다.
paste(shQuote(one), collapse=", ")
type="cmd"
실제로 대부분의 컨텍스트에 유용한 이스케이프 된 따옴표를 cat
제공하지만 이스케이프되지 않은 따옴표로 어딘가에 표시하려는 경우 제공합니다.
답변
해당 출력이있는 문자형 벡터를 원한다고 말하지만이 질문을 찾는 다른 사람들은 대신 다음 함수 중 하나를 찾을 수 있습니다.
첫째, R에 대한 입력을 위해 출력을 준비하는 방법입니다. 다음과 dput
같습니다.
> dput(as.character(one))
c("1", "2", "3", "4", "5")
둘째, csv 파일을 출력하는 방법 ( write.csv
또는 write.table
. 이러한 함수는 file
여기에서 사용되지 않는 매개 변수 를 사용하여 파일로 직접 출력합니다.
> write.table(matrix(as.character(one),nrow=1), sep=",",
row.names=FALSE, col.names=FALSE)
"1","2","3","4","5"
> write.csv(matrix(as.character(one),nrow=1),row.names=FALSE)
"V1","V2","V3","V4","V5"
"1","2","3","4","5"
답변
문자 벡터가 아닌 문자열로 출력을 원한다고 가정하면 다음을 시도 할 수 있습니다.
paste("'",as.character(one),"'",collapse=", ",sep="")
그것은 큰 따옴표가 아닌 숫자 주위에 작은 따옴표를 제공하지만 기본적으로 원하는 것입니다.
그리고 항상 이스케이프하여 큰 따옴표를 얻을 수 있습니다.
rs <- paste("\"",as.character(one),"\"",collapse=", ",sep="")
cat(rs)
큰 따옴표로 원하는 것을 인쇄해야합니다.
답변
뿐만 아니라 shQuote
, 기능을 참조 sQuote
하고 dQuote
각각 단일 및 이중 따옴표로 텍스트를 바꿈. 또한 options(useFancyQuotes=FALSE)
일반 (단방향) ASCII 따옴표를 가져 오도록 설정 해야합니다.
답변
toString과 비슷한 것
toString(paste0("'",1:10,"'") )
답변
기능을 사용하려면 Noah의 답변에 추가하십시오 paste
.
paste(shQuote(one, type="sh"), collapse=", ")
당신에게 줄 것 :
[1] '1','2','3','4','5'