如何在R的expression函数中正确编写概率表达式P(·)?
解决R中expression函数编写P(·)表达式的报错问题
报错原因
%.%是R里plotmath的二元运算符,必须在左右两侧都搭配操作数(比如x %.% y这种写法才合法),单独把%.%放在括号里会因缺少操作数触发语法错误。
正确写法
要生成P(·)这类概率表达式,直接使用plotmath内置的cdot()函数即可,无需依赖%.%:
# 生成P(·)表达式 expr <- expression(P(cdot())) # 在绘图中测试渲染效果 plot(1, 1, main = expr)
如果希望点的占位感更贴合常规概率符号的样式,也可以结合phantom()调整间距,不过通常cdot()就足够满足需求:
# 带占位效果的P(·)写法 expr <- expression(P(phantom(x) %.% phantom(x)))
另外,也能用paste组合文本和符号,但plotmath更推荐直接使用内置符号函数:
expr <- expression(paste("P(", cdot(), ")"))
效果验证
运行上述代码后,无论是在绘图标题、轴标签还是其他需要数学表达式的场景,都能正确渲染出P(·)的样式。
内容的提问来源于stack exchange,提问作者at.
相关产品推荐
相关产品推荐

