绘制格式化文本

时间:2015-04-15 20:13:22

标签: r

我需要生成一个格式化的字符串,该字符串包含在图表中,用于指示中位数,四分位数范围以及基于此的观察数量。这是我正在尝试的......

plot(x=runif(4, 0,100), y=1:4, yaxt="n", ylab="", xlim=c(0,100))

m <- "2.3~x~10^6"
l <- "1.2~x~10^6"
u <- "4.5~x~10^6"
n <- 50
my_string <- paste0(m, "~(", l, "~-~", u, ")~plain(,)", "~N==~", n, "~)")
text(x=50, y=2.5, parse(text=my_string))

这会产生以下错误......

Error in parse(text = my_string) : <text>:1:54: unexpected ')'
1: 2.3~x~10^6~(1.2~x~10^6~-~4.5~x~10^6)~plain(,)~N==~50~)

如果我这样做

plot(x=runif(4, 0,100), y=1:4, yaxt="n", ylab="", xlim=c(0,100))

m <- "2.3~x~10^6"
l <- "1.2~x~10^6"
u <- "4.5~x~10^6"
n <- 50
my_string <- paste0(m, "~(", l, "~-~", u, ")")
text(x=50, y=2.5, parse(text=my_string))

我在提出指数后得到格式化,但我没有包含N.除此之外,它似乎会投入额外的空间,理想情况下不会存在。

有关第一个代码块工作的建议吗?

1 个答案:

答案 0 :(得分:2)

你的第一次尝试最后有一个流氓~)。这应该工作

my_string <- paste0(m, "~(", l, "~-~", u, ")~plain(',')", "~N==~", n)
text(x=50, y=2.5, parse(text=my_string))