在 r 绘图文本中指定小数位?

2024-01-09

我尝试格式化在基本图形系统中创建的回归曲线的标签。基本上,该标签从变量中提取斜率、截距和 r 方值。示例如下:

plot(rnorm(10), type = "n", xlim = c(0, 100), ylim = c(0, 100))
text(x = 0, y = 100, adj = c(0, NA), bquote(paste(y == .(a) * x + .(b), ", R"^2 == .(r2))), cex = 0.7)

然而,这生成了一个看起来不太聪明的标签:

y = 1.159019x+-1.537708, R<sup>2</sup>=0.7924927

我想要的是将数字四舍五入到小数点后第二位,即

y = 1.16x-1.54, R<sup>2</sup>=0.79

我在两个帮助文档中都查找过text() and bquote()但并没有找到太多有用的信息。

我也尝试过包裹.(a), .(b) and .(r2) in format()与参数nsmall = 2,但没有成功。

有人可以帮我解决这个问题吗?提前谢谢了!

附:我认为我的问题中有一个隐藏的任务。在上面的例子中,b是负数。我知道我可能可以省略"+"我的表达式中的运算符仅使用负号b加入我的方程式。但是,如果我不知道 的符号怎么办?b提前?有没有一种巧妙的方法可以形成标签而无需使用if()然后编写两个略有不同的版本text()?再次感谢!


要指定位数,请使用round(a, digits=2)。但是,您也可以使用sprintf处理方程中的位数和+或-: %+3.2f,其中%强制方程中的 + 或 - 符号并且3.2f控制位数,因此这可以解决您的两个问题。我找到了上标问题的解决方案sprintf here http://r.789695.n4.nabble.com/Superscripts-and-rounding-td899133.html:“B2 是 UTF-8 字符 = ^2 的十六进制代码,\U 是调用该字符的控制序列。”

# data and regression
set.seed(1)
y = 1:10+rnorm(10)
x = 1:10
fit = lm(y~x)
b = coef(fit)[1]
a = coef(fit)[2]
r2 = summary(fit)$r.squared

# plot data and regression
plot(x, y)
abline(fit, col=2)

# add text to plot with legend() for convenient placement
legend('topleft', title='option 1', legend=sprintf("y = %3.2fx %+3.2f, R\UB2 = %3.2f", a, b, r2), bty='n', cex=0.7)

# if you prefer a pretty space between plus/minus and b:
if( b<0) {my_sign = ' - '; b = -b} else { my_sign= ' + '}
legend('bottomright', title='option 2', legend=sprintf("y = %3.2f x %s %3.2f, R\UB2 = %3.2f", a, my_sign, b, r2), bty='n', cex=0.7)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 r 绘图文本中指定小数位? 的相关文章

随机推荐

  • JS onunload 事件并不总是有效

    我想计算访问者在某个页面上花费的时间并将其存储在我的 MySQL 数据库中 我想在 window onload 上启动一个计时器 如下所示 window onload startCount window onunload sendCount
  • ptrace 在 Linux 中如何工作?

    The ptrace系统调用允许父进程检查附加的子进程 例如 在 Linux 中 strace 这是通过实现ptracesystem call 可以检查子进程调用的系统调用 当附加的子进程调用系统调用时 可以通知 ptracing 父进程
  • 使用 javascript 触发灯箱

    我想使用这个库 http lokeshdhakar com projects lightbox2 http lokeshdhakar com projects lightbox2 我无法附加rel lightbox 每个图像 所以我想使用
  • java 如何使用扫描仪读取段落并计数

    例如 如果文件中有以下几行文本 这是一个例子 这是一个例子 这是一个例子 这是一个例子 这是一个例子 这是一个例子 这是一个例子 这是一个例子 这是一个例子 这是一个例子 这是一个例子 这是一个例子 这是一个例子 这是一个例子 这是一个例子
  • 连接 pandas 中的列表 - 使用 PyCharm 发出警告

    这是一个最小的可重现示例 用于获取我不明白的警告 我的数据框 前 5 行 如下所示 10 列 每列都填充了一个字符串列表 Index HLA A1 D HLA A2 D HLA B1 D HLA B2 D HLA C1 D HLA C2 D
  • 在“获取源”步骤之后,TFS 保持不同步

    We migrated to TFS 2015 RTM recently and were successful in creating build pools configuring build agents and build defi
  • 创建静态库

    我正在尝试创建一个静态库以在我的 PHP 扩展中使用 为此 我正在编译我的 c文件使用gcc c file c o file o并获得 o文件 然后我用ar rcs lib a o将所有编译的对象归档到 a file 完成此操作后 我指的是
  • haskell负十进制数[重复]

    这个问题在这里已经有答案了 可能的重复 Haskell 中的负双精度数或浮点数 macports https stackoverflow com questions 4101599 negative doubles or floats in
  • 表单验证如何排除输入字段?

    我正在关注 bootstrap 4 表单验证https getbootstrap com docs 4 0 components forms validation https getbootstrap com docs 4 0 compon
  • 如何在 Context.MODE_PRIVATE 中创建嵌套文件夹和文件?

    我有一个要求 需要使用嵌套结构编写文件和文件夹Context MODE PRIVATE 我发现我们可以使用创建文件openFileOutput FILENAME Context MODE PRIVATE 并能够使用此方法创建文件 但后来我发
  • 如何从我的应用程序中启动 Mail.app 中的新消息窗口

    我可以使用命令启动 Mail app NSWorkspace共享工作空间 launchApplication Mail app 但我想在 Mail app 中启动新消息窗口 而不是整个 Mail app 我怎样才能这样做呢 我得到了答案 N
  • 从文件返回细节,python

    我有这段代码 我正在尝试计算以下内容的数量 py 脚本中的代码行 for loops 对于 while loops 同时 if 语句 如果 函数定义 def 乘号 除号 加号 减号 在数学符号上 代码可以工作 但是当代码寻找 if 语句时
  • 如何使用cmd/批处理文件删除目录中名为x的所有文件夹

    我有一个名为 x 的文件夹 其中包含许多子文件夹和文件 我想删除 x 中存在的名为 y 的文件夹及其所有子文件夹 必须删除的所述文件夹可能包含也可能不包含任何文件 我相信我可以使用 cmd 或某种批处理文件来完成此操作 但我是一个命令行新人
  • 在位图样式设计器中更改字体

    Delphi XE7 提供了 位图样式设计器 工具 工具 gt 位图样式设计器 可用于为您的 Metro 主题应用程序编辑和创建样式 更改按钮 复选框和标签的图形和颜色很有效 而且看起来很漂亮 但如何更改字体设置呢 更准确地说 我该怎么做才
  • 比亚恩会犯错误吗? (一边解释模板),还是我还是不明白?

    伙计们 我正在做 C 编程语言第三版 的练习 第 340 页有一个函数示例 template
  • 确定文件是否为空(SSIS)

    我正在尝试在 SSIS 2005 中开发一个包 我的过程的一部分是检查网络上的文件是否为空 如果不为空 则需要传递成功状态 否则 需要传递不成功状态 我想我需要一个脚本任务 但不知道如何去做 任何帮助表示赞赏 Create a connec
  • 保留 Emacs 中的窗口布局

    我已经以某种方式设置了我的窗口 如何保存此设置以供以后调用 我有时还是用C x r w
  • 验证本地 Laravel Homestead 服务器上的自签名证书

    我按照以下详细信息创建了 SSL 证书 因此我可以使用 https 通过 Laravel 的 Homestead 运行本地测试站点 在 homestead 虚拟机上添加 https 证书 https stackoverflow com qu
  • UITableViewController 背景图片

    如何设置图像UITableViewController 我使用了很多东西 但它不能帮助我将图像设置为背景 UIImageView bgView UIImageView alloc initWithImage UIImage imageNam
  • 在 r 绘图文本中指定小数位?

    我尝试格式化在基本图形系统中创建的回归曲线的标签 基本上 该标签从变量中提取斜率 截距和 r 方值 示例如下 plot rnorm 10 type n xlim c 0 100 ylim c 0 100 text x 0 y 100 adj