r сохранение 0,0 при использовании пасты или paste0
Это простой вопрос, но меня начинает раздражать, что я не могу найти решение....
Я хотел бы иметь возможность сохранить 0.0 при использовании его в качестве вывода при использовании paste или paste0, так что если у меня есть следующее:
y <- c(-1.5,-1.0,-0.5,0.0,0.5,1.0,1.5)
> y
[1] -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5
paste0("x",y,"x")
Я получаю:
[1] "x-1.5x" "x-1x" "x-0.5x" "x0x" "x0.5x" "x1x" "x1.5x"
Но хочу:
[1] "x-1.5x" "x-1.0x" "x-0.5x" "x0.0x" "x0.5x" "x1.0x" "x1.5x"
3 ответа:
Есть также
format
иdrop0trailing
paste0('x',format(y,drop0Trailing = F),'x')
И, если вы действительно хотите заменить только
0
на0.0
, Не (1.0
или-1.0
) тогдаpaste0('x',gsub(x = gsub(x = format(y, drop0trailing = T),'0$', '0.0'),' ',''),'x') ## [1] "x-1.5x" "x-1x" "x-0.5x" "x0.0x" "x0.5x" "x1x" "x1.5x"
Или, как предложил @mrdwab (и менее типизирует)
paste0('x',gsub("^0$", "0.0", as.character(y)),'x')