Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
119 views
in Technique[技术] by (71.8m points)

Converting sequence expression to a string in R plot label

ab <- 1:4
plot(ab, main = paste("value",ab))

The above produces

enter image description here

Whereas I want the label to show exactly like value 1:4. I know I can do this by tweaking the paste function something like paste0("value ",ab[1],":", ab[4]). But there must be a simpler way and also sometimes ab is just a single number, so I want something consistent that works for both cases. I also tried with expression and bquote, but can't figure out a way. Thanks.

question from:https://stackoverflow.com/questions/65921262/converting-sequence-expression-to-a-string-in-r-plot-label

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can use range(ab) and a second paste (with collapse=':') to get this result. For the case where ab is a single value, I had to use ifelse.

EDIT: a slightly shorter solution using unique instead of ifelse to treat for the case with a single value

ab <- 1:4
plot(ab, main = paste("value", paste(unique(range(ab)), collapse = ':')))

enter image description here

If ab = 1:

enter image description here


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...