我需要生成一个格式化的字符串,该字符串包含在图表中,用于指示中位数,四分位数范围以及基于此的观察数量。这是我正在尝试的......
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.除此之外,它似乎会投入额外的空间,理想情况下不会存在。
有关第一个代码块工作的建议吗?
答案 0 :(得分:2)
你的第一次尝试最后有一个流氓~)
。这应该工作
my_string <- paste0(m, "~(", l, "~-~", u, ")~plain(',')", "~N==~", n)
text(x=50, y=2.5, parse(text=my_string))