使用metafor软件包向森林地块添加科学符号标签

使用metafor软件包向森林地块添加科学符号标签,r,expression,scientific-notation,forestplot,metafor,R,Expression,Scientific Notation,Forestplot,Metafor,因此,我正在使用R中的meta.for包进行荟萃分析。我正在准备发表在科学杂志上的数字,我想在我的森林地块上添加p值,但科学注释格式如下 x10-04 我希望p值的科学符号格式为x10-04 x10-04 我看到的所有类似问题的答案都建议使用expression(),但这会在cbind(ilab)中产生错误:无法从类型“expression”创建矩阵,这是有意义的,因为forest上的帮助文件指定ilab参数应该是向量 关于如何修复或解决此问题,您有什么想法吗?一个黑客解决方案是 forest

因此,我正在使用
R
中的
meta.for
包进行荟萃分析。我正在准备发表在科学杂志上的数字,我想在我的森林地块上添加p值,但科学注释格式如下
x10-04

我希望p值的科学符号格式为
x10-04
x10-04
我看到的所有类似问题的答案都建议使用
expression()
,但这会在cbind(ilab)中产生
错误:无法从类型“expression”
创建矩阵,这是有意义的,因为
forest
上的帮助文件指定
ilab
参数应该是向量


关于如何修复或解决此问题,您有什么想法吗?

一个黑客解决方案是

forest.rma <- edit(forest.rma)

修正你的p值和绘图

p.vals <- gsub('e(.*)', '~x~10^{"\\1"}', p.vals)
forest(res, ilab = p.vals, ilab.xpos = 3, order = "obs", xlab = "Relative Risk")
p.vals
## line 574
text(ilab.xpos[l], rows, ilab[, l], pos = ilab.pos[l],
text(ilab.xpos[l], rows, parse(text = ilab[, l]), pos = ilab.pos[l],
p.vals <- gsub('e(.*)', '~x~10^{"\\1"}', p.vals)
forest(res, ilab = p.vals, ilab.xpos = 3, order = "obs", xlab = "Relative Risk")