Преобразовать целое число в строку в R - PullRequest
0 голосов
/ 08 июня 2018

У меня есть целое число

a <- (0:3)

И я хотел бы преобразовать его в строку символов, которая выглядит следующим образом

b <- "(0:3)"

Я пытался

as.character(a)
[1] "0" "1" "2" "3"

и

toString(a)
[1] "0, 1, 2, 3"

Но и то, и другое мне не нужно.

Может кто-нибудь помочь мне добраться от а до б?

Большое спасибо заранее!

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Один из вариантов - deparse и paste в скобках

as.character(glue::glue('({deparse(a)})'))
#[1] "(0:3)"

Другой вариант - сохранить в качестве выражения и затем преобразовать его в символ

library(rlang)
a <- quo((0:3))
quo_name(a)
#[1] "(0:3)"

это можно оценить с помощью eval_tidy

eval_tidy(a)
#[1] 0 1 2 3
0 голосов
/ 08 июня 2018
paste0("(", min(a), ":", max(a), ")")
"(0:3)"

Или более кратко с помощью sprintf ():

sprintf("(%d:%d)", min(a), max(a))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...