r - 0.5<0.5 在 R 中返回 TRUE?
问题描述
我在 R 编程中遇到了一件奇怪的事情。当我模拟一个序列,想判断元素是否小于0.5时,
t=(1:1440)/1440
x=(t[720]-t[648])/0.1
x
#output:[1] 0.5
x<1/2
#output:[1] TRUE
x=0.5
x<1/2
#output:[1] FALSE
这两个结果完全相反,显然第二个结果就是我想要的。有谁能够帮助我?
解决方案
浮点运算在 R 中并不精确,您期望在数值上精确到 0.5 的值实际上可能略多(或更少)。一种可能的解决方法是使用舍入:
t <- (1:1440)/1440
x <- (t[720]-t[648]) / 0.1
round(x, 1) < 0.5
推荐阅读
- javascript - 类型错误:无法读取 undefined 的属性“执行”。node.js如何导出oracle db连接
- linux - Bash 在运行命令时添加了额外的单引号
- java - 无法在java中加载多个类文件
- scala - 在队列 fs2 Streams Scala 中定义服务时间
- jenkins - 在 Robot Framework 中,通过 Jenkins 执行时,屏幕截图不会链接到 log.html
- laravel - 更新时关系上的 UpdateOrCreate 不起作用
- powershell - 解析 Powershell 脚本以单击 Google 结果
- c# - 为什么我不能使用 Syncfusion Blazor 在我的网格视图中显示这个对象?
- aws-glue - AWS Glue ETL 作业使用 Join.apply Vs SQL JOIN Query 获取最终数据帧
- c# - c# linq 的限制在哪里