2016-03-30 2 views
2

У меня есть вектор числовых значений, скажем:Добавление символа градусов в конце каждого элемента вектора в R

angles <- c(10.2, 20.3, 14.3, 18.4) 

И я хочу, чтобы добавить символ градуса в конце каждого элемента, для того, получить:

labels <- c("10.2°", "20.3°", "14.3°", "18.4°") 

Я попытался с bquote() функции без успеха:

labels <- bquote(paste(.(angles) * degree)) 
+2

'paste0 (углы, "°")'? – mtoto

+0

Да, это работает для символа степени. Я все еще интересуюсь ответом для любого выражения ... – Ben

+0

@Ben «любое» выражение? Вы не сможете представлять такие вещи, как «sqrt (x)» в символьных строках из-за того, как рисован квадратный корневой оператор. – Spacedman

ответ

6

Если ваша клавиатура не обеспечивает символ градуса ° символ может быть получен с UTF8 code, который в данном случае составляет 176:

paste0(angles,intToUtf8(176)) 
#[1] "10.2°" "20.3°" "14.3°" "18.4°" 

При использовании кода UTF8 любой символ может быть вставлен как это. Надеюсь, это поможет.

+0

Как это ответ на «любое выражение»? – Spacedman

1

Если вы желаете, чтобы использовать метки на участке, такой код будет работать

angles <- c(10.2, 20.3, 14.3, 18.4) 
labels <-sapply(angles, function(a)bquote(.(a) * degree)) 

plot(1:4, 1:4) 
mapply(text, labels = labels, x = 1:4, y = 1:4, pos = 4:1) 
Смежные вопросы